mirror of
https://github.com/harryssecret/homelab-nix.git
synced 2025-08-08 06:30:18 +02:00
more niri related config
This commit is contained in:
parent
4789d2e5d7
commit
cf5af467fa
8 changed files with 199 additions and 87 deletions
|
@ -109,7 +109,7 @@
|
||||||
home-manager.users.${username} = {
|
home-manager.users.${username} = {
|
||||||
imports = [
|
imports = [
|
||||||
./home-manager/home.nix
|
./home-manager/home.nix
|
||||||
catppuccin.homeManagerModules.catppuccin
|
catppuccin.homeModules.catppuccin
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
home-manager.extraSpecialArgs = { inherit inputs; };
|
home-manager.extraSpecialArgs = { inherit inputs; };
|
||||||
|
|
|
@ -149,7 +149,7 @@ layout {
|
||||||
// off
|
// off
|
||||||
|
|
||||||
// How many logical pixels the ring extends out from the windows.
|
// How many logical pixels the ring extends out from the windows.
|
||||||
width 4
|
width 2
|
||||||
|
|
||||||
// Colors can be set in a variety of ways:
|
// Colors can be set in a variety of ways:
|
||||||
// - CSS named colors: "red"
|
// - CSS named colors: "red"
|
||||||
|
@ -157,7 +157,7 @@ layout {
|
||||||
// - CSS-like notation: "rgb(255, 127, 0)", rgba(), hsl() and a few others.
|
// - CSS-like notation: "rgb(255, 127, 0)", rgba(), hsl() and a few others.
|
||||||
|
|
||||||
// Color of the ring on the active monitor.
|
// Color of the ring on the active monitor.
|
||||||
active-color "#7fc8ff"
|
active-color "#7287fd"
|
||||||
|
|
||||||
// Color of the ring on inactive monitors.
|
// Color of the ring on inactive monitors.
|
||||||
inactive-color "#505050"
|
inactive-color "#505050"
|
||||||
|
@ -295,6 +295,7 @@ window-rule {
|
||||||
// - Flatpak Firefox (app-id is "org.mozilla.firefox")
|
// - Flatpak Firefox (app-id is "org.mozilla.firefox")
|
||||||
match app-id=r#"firefox$"# title="^Picture-in-Picture$"
|
match app-id=r#"firefox$"# title="^Picture-in-Picture$"
|
||||||
match app-id=r#"zen$"# title="^Picture-in-Picture$"
|
match app-id=r#"zen$"# title="^Picture-in-Picture$"
|
||||||
|
match app-id=r#"zen-beta$"# title="^Picture-in-Picture$"
|
||||||
open-floating true
|
open-floating true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -303,6 +304,7 @@ window-rule {
|
||||||
window-rule {
|
window-rule {
|
||||||
match app-id=r#"^org\.keepassxc\.KeePassXC$"#
|
match app-id=r#"^org\.keepassxc\.KeePassXC$"#
|
||||||
match app-id=r#"^org\.gnome\.World\.Secrets$"#
|
match app-id=r#"^org\.gnome\.World\.Secrets$"#
|
||||||
|
match app-id=r#"Bitwarden"#
|
||||||
|
|
||||||
block-out-from "screen-capture"
|
block-out-from "screen-capture"
|
||||||
|
|
||||||
|
@ -333,7 +335,7 @@ binds {
|
||||||
Mod+Shift+Slash { show-hotkey-overlay; }
|
Mod+Shift+Slash { show-hotkey-overlay; }
|
||||||
|
|
||||||
// Suggested binds for running programs: terminal, app launcher, screen locker.
|
// Suggested binds for running programs: terminal, app launcher, screen locker.
|
||||||
Mod+Return { spawn "foot"; }
|
Mod+Return { spawn "footclient"; }
|
||||||
Mod+D { spawn "fuzzel"; }
|
Mod+D { spawn "fuzzel"; }
|
||||||
Super+Alt+L { spawn "swaylock"; }
|
Super+Alt+L { spawn "swaylock"; }
|
||||||
|
|
||||||
|
@ -573,3 +575,28 @@ spawn-at-startup "xwayland-satellite"
|
||||||
environment {
|
environment {
|
||||||
DISPLAY ":0"
|
DISPLAY ":0"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// apps to launch at startup
|
||||||
|
spawn-at-startup "zen-beta"
|
||||||
|
spawn-at-startup "obsidian"
|
||||||
|
spawn-at-startup "discord"
|
||||||
|
spawn-at-startup "beeper"
|
||||||
|
|
||||||
|
clipboard {
|
||||||
|
disable-primary
|
||||||
|
}
|
||||||
|
|
||||||
|
workspace "code"
|
||||||
|
workspace "internet"
|
||||||
|
workspace "chat"
|
||||||
|
|
||||||
|
window-rule {
|
||||||
|
match at-startup=true app-id=r#"^discord$"#
|
||||||
|
match at-startup=true app-id=r#"^Beeper$"#
|
||||||
|
open-on-workspace "chat"
|
||||||
|
}
|
||||||
|
|
||||||
|
window-rule {
|
||||||
|
match at-startup=true app-id=r#"zen-beta$"#
|
||||||
|
open-on-workspace "internet"
|
||||||
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"layer": "top",
|
"layer": "top",
|
||||||
"modules-left": ["custom/launcher", "niri/workspaces"],
|
"modules-left": ["custom/launcher", "niri/workspaces", "niri/window"],
|
||||||
"modules-center": [],
|
"modules-center": [],
|
||||||
"modules-right": [
|
"modules-right": [
|
||||||
"tray",
|
"tray",
|
||||||
|
@ -46,7 +46,7 @@
|
||||||
"format-wifi": " ",
|
"format-wifi": " ",
|
||||||
"format-ethernet": "",
|
"format-ethernet": "",
|
||||||
"format-disconnected": "", //An empty format will hide the module.
|
"format-disconnected": "", //An empty format will hide the module.
|
||||||
"tooltip-format": "{ifname} via {gwaddr} ",
|
"tooltip-format": "{ifname} via {gwaddr} ",
|
||||||
"tooltip-format-wifi": "{essid} ({signalStrength}%) ",
|
"tooltip-format-wifi": "{essid} ({signalStrength}%) ",
|
||||||
"tooltip-format-ethernet": "{ifname} ",
|
"tooltip-format-ethernet": "{ifname} ",
|
||||||
"tooltip-format-disconnected": "Disconnected",
|
"tooltip-format-disconnected": "Disconnected",
|
||||||
|
@ -77,5 +77,8 @@
|
||||||
"on-click": "swaync-client -t -sw",
|
"on-click": "swaync-client -t -sw",
|
||||||
"on-click-right": "swaync-client -d -sw",
|
"on-click-right": "swaync-client -d -sw",
|
||||||
"escape": true
|
"escape": true
|
||||||
|
},
|
||||||
|
"tray": {
|
||||||
|
"spacing": 10
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,16 +10,15 @@
|
||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
transition: none;
|
transition: none;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
font-family: "DM Sans", "CodeNewRoman Nerd Font", sans-serif;
|
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
color: @text;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
window#waybar {
|
#waybar {
|
||||||
background-color: @base;
|
font-family: "DM Sans", "CodeNewRoman Nerd Font", sans-serif;
|
||||||
padding-right: 12px;
|
padding: 4px 8px;
|
||||||
/*border: solid 2px @primary;*/
|
background-color: transparent;
|
||||||
|
border-radius: 12px;
|
||||||
min-height: 14px; /* set waybar's height to 14px */
|
min-height: 14px; /* set waybar's height to 14px */
|
||||||
font-size: 14px; /* set only the font size to be bigger, which in turn will adjust the height of other elements */
|
font-size: 14px; /* set only the font size to be bigger, which in turn will adjust the height of other elements */
|
||||||
}
|
}
|
||||||
|
@ -28,8 +27,14 @@ window#waybar {
|
||||||
#battery,
|
#battery,
|
||||||
#cpu,
|
#cpu,
|
||||||
#wireplumber,
|
#wireplumber,
|
||||||
#bluetooth {
|
#bluetooth,
|
||||||
padding: 0 12px;
|
#network {
|
||||||
|
padding: 4px 12px;
|
||||||
|
background-color: @surface0;
|
||||||
|
color: @text;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock {
|
||||||
}
|
}
|
||||||
|
|
||||||
#workspaces button {
|
#workspaces button {
|
||||||
|
@ -39,14 +44,20 @@ window#waybar {
|
||||||
#workspaces button:hover {
|
#workspaces button:hover {
|
||||||
box-shadow: inherit;
|
box-shadow: inherit;
|
||||||
text-shadow: inherit;
|
text-shadow: inherit;
|
||||||
|
background-color: @surface1;
|
||||||
|
border-radius: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#workspaces button.focused {
|
#workspaces button.focused {
|
||||||
background-color: #000;
|
background-color: @surface1;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
border-radius: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#workspaces {
|
#workspaces {
|
||||||
|
background-color: @surface0;
|
||||||
|
padding: 2px 4px;
|
||||||
|
border-radius: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#privacy-item.screenshare {
|
#privacy-item.screenshare {
|
||||||
|
@ -58,3 +69,28 @@ window#waybar {
|
||||||
color: #000;
|
color: #000;
|
||||||
background-color: #ffae42;
|
background-color: #ffae42;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#network {
|
||||||
|
border-radius: 12px 0 0 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock {
|
||||||
|
border-radius: 0 12px 12px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray {
|
||||||
|
background-color: @surface0;
|
||||||
|
border-radius: 12px;
|
||||||
|
padding: 2px 4px;
|
||||||
|
margin-right: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#window {
|
||||||
|
margin-left: 16px;
|
||||||
|
background-color: @surface0;
|
||||||
|
font-family: "light";
|
||||||
|
|
||||||
|
border-radius: 12px;
|
||||||
|
padding: 2px 4px;
|
||||||
|
color: @text;
|
||||||
|
}
|
||||||
|
|
|
@ -24,92 +24,85 @@
|
||||||
# release notes.
|
# release notes.
|
||||||
home.stateVersion = "24.05"; # Please read the comment before changing.
|
home.stateVersion = "24.05"; # Please read the comment before changing.
|
||||||
|
|
||||||
nixpkgs.config.allowUnfreePredicate =
|
|
||||||
pkg:
|
|
||||||
builtins.elem (lib.getName pkg) [
|
|
||||||
"vscode"
|
|
||||||
"tetrio-desktop"
|
|
||||||
"beeper"
|
|
||||||
];
|
|
||||||
|
|
||||||
# The home.packages option allows you to install Nix packages into your
|
# The home.packages option allows you to install Nix packages into your
|
||||||
# environment.
|
# environment.
|
||||||
home.packages =
|
home.packages = with pkgs; [
|
||||||
with pkgs;
|
# # Adds the 'hello' command to your environment. It prints a friendly
|
||||||
[
|
# # "Hello, world!" when run.
|
||||||
# # Adds the 'hello' command to your environment. It prints a friendly
|
# pkgs.hello
|
||||||
# # "Hello, world!" when run.
|
|
||||||
# pkgs.hello
|
|
||||||
|
|
||||||
beeper
|
beeper
|
||||||
nerd-fonts.code-new-roman
|
nerd-fonts.code-new-roman
|
||||||
ffmpegthumbnailer
|
ffmpegthumbnailer
|
||||||
xfce.tumbler
|
xfce.tumbler
|
||||||
dm-sans
|
dm-sans
|
||||||
zoxide
|
zoxide
|
||||||
btop
|
btop
|
||||||
bitwarden-cli
|
bitwarden-cli
|
||||||
weechat
|
weechat
|
||||||
cava
|
cava
|
||||||
hyfetch
|
hyfetch
|
||||||
kittysay
|
kittysay
|
||||||
nextcloud-client
|
nextcloud-client
|
||||||
thunderbird-bin
|
thunderbird-bin
|
||||||
feh
|
feh
|
||||||
waybar
|
waybar
|
||||||
p7zip
|
p7zip
|
||||||
|
|
||||||
libreoffice-qt
|
libreoffice-qt
|
||||||
tetrio-desktop
|
tetrio-desktop
|
||||||
|
|
||||||
playerctl
|
playerctl
|
||||||
wf-recorder
|
wf-recorder
|
||||||
|
|
||||||
file
|
file
|
||||||
osu-lazer-bin
|
osu-lazer-bin
|
||||||
|
|
||||||
qbittorrent
|
qbittorrent
|
||||||
|
|
||||||
i2pd
|
i2pd
|
||||||
ripgrep
|
ripgrep
|
||||||
vscode
|
vscode
|
||||||
|
|
||||||
zathura
|
zathura
|
||||||
tor-browser
|
tor-browser
|
||||||
|
|
||||||
gammastep
|
gammastep
|
||||||
lazygit
|
lazygit
|
||||||
gimp-with-plugins
|
gimp-with-plugins
|
||||||
fzf
|
fzf
|
||||||
lf
|
lf
|
||||||
why3
|
|
||||||
alt-ergo
|
|
||||||
cvc4
|
|
||||||
z3
|
|
||||||
prismlauncher
|
|
||||||
|
|
||||||
wofi
|
prismlauncher
|
||||||
wofi-emoji
|
|
||||||
obsidian
|
|
||||||
|
|
||||||
audacious
|
wofi
|
||||||
audacious-plugins
|
wofi-emoji
|
||||||
|
obsidian
|
||||||
|
|
||||||
libsixel
|
audacious
|
||||||
unzip
|
audacious-plugins
|
||||||
p7zip
|
|
||||||
|
|
||||||
libsixel
|
libsixel
|
||||||
unzip
|
unzip
|
||||||
p7zip
|
p7zip
|
||||||
|
|
||||||
nixfmt-rfc-style
|
libsixel
|
||||||
fuzzel
|
unzip
|
||||||
zsh-syntax-highlighting
|
p7zip
|
||||||
]
|
|
||||||
++ lib.optionals pkgs.stdenv.isLinux [
|
nixfmt-rfc-style
|
||||||
kdePackages.dolphin
|
fuzzel
|
||||||
];
|
zsh-syntax-highlighting
|
||||||
|
|
||||||
|
obsidian
|
||||||
|
papirus-icon-theme
|
||||||
|
# # You can also create simple shell scripts directly inside your
|
||||||
|
# # configuration. For example, this adds a command 'my-hello' to your
|
||||||
|
# # environment:
|
||||||
|
# (pkgs.writeShellScriptBin "my-hello" ''
|
||||||
|
# echo "Hello, ${config.home.username}!"
|
||||||
|
# '')
|
||||||
|
];
|
||||||
|
|
||||||
# Home Manager is pretty good at managing dotfiles. The primary way to manage
|
# Home Manager is pretty good at managing dotfiles. The primary way to manage
|
||||||
# plain files is through 'home.file'.
|
# plain files is through 'home.file'.
|
||||||
|
@ -137,11 +130,13 @@
|
||||||
programs.direnv = {
|
programs.direnv = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableBashIntegration = true; # see note on other shells below
|
enableBashIntegration = true; # see note on other shells below
|
||||||
|
enableZshIntegration = true;
|
||||||
nix-direnv.enable = true;
|
nix-direnv.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.zoxide.enable = true;
|
programs.zoxide.enable = true;
|
||||||
programs.zoxide.enableBashIntegration = true;
|
programs.zoxide.enableBashIntegration = true;
|
||||||
|
programs.zoxide.enableZshIntegration = true;
|
||||||
programs.zoxide.options = [
|
programs.zoxide.options = [
|
||||||
"--cmd cd"
|
"--cmd cd"
|
||||||
];
|
];
|
||||||
|
@ -230,6 +225,14 @@
|
||||||
};
|
};
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
gtk.iconTheme = {
|
||||||
|
package = pkgs.papirus-icon-theme;
|
||||||
|
};
|
||||||
|
|
||||||
|
gtk.theme = {
|
||||||
|
package = pkgs.catppuccin-gtk;
|
||||||
|
};
|
||||||
|
|
||||||
programs.foot = {
|
programs.foot = {
|
||||||
enable = true;
|
enable = true;
|
||||||
server.enable = true;
|
server.enable = true;
|
||||||
|
@ -245,6 +248,8 @@
|
||||||
swaylock.enable = true;
|
swaylock.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
home.shell.enableZshIntegration = true;
|
||||||
|
|
||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableCompletion = true;
|
enableCompletion = true;
|
||||||
|
@ -265,6 +270,19 @@
|
||||||
"pkill *"
|
"pkill *"
|
||||||
"cp *"
|
"cp *"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
plugins = [
|
||||||
|
{
|
||||||
|
name = "vi-mode";
|
||||||
|
src = pkgs.zsh-vi-mode;
|
||||||
|
file = "share/zsh-vi-mode/zsh-vi-mode.plugin.zsh";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "powerlevel10k";
|
||||||
|
src = pkgs.zsh-powerlevel10k;
|
||||||
|
file = "share/zsh-powerlevel10k/powerlevel10k.zsh-theme";
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
# Let Home Manager install and manage itself.
|
# Let Home Manager install and manage itself.
|
||||||
|
|
|
@ -65,7 +65,7 @@
|
||||||
"flakes"
|
"flakes"
|
||||||
];
|
];
|
||||||
# Configure keymap in X11
|
# Configure keymap in X11
|
||||||
# services.xserver.xkb.layout = "us";
|
services.xserver.xkb.layout = "fr";
|
||||||
# services.xserver.xkb.options = "eurosign:e,caps:escape";
|
# services.xserver.xkb.options = "eurosign:e,caps:escape";
|
||||||
|
|
||||||
# Enable CUPS to print documents.
|
# Enable CUPS to print documents.
|
||||||
|
@ -74,14 +74,19 @@
|
||||||
# Enable touchpad support (enabled default in most desktopManager).
|
# Enable touchpad support (enabled default in most desktopManager).
|
||||||
# services.libinput.enable = true;
|
# services.libinput.enable = true;
|
||||||
|
|
||||||
|
programs.zsh.enable = true;
|
||||||
|
environment.pathsToLink = [ "/share/zsh" ];
|
||||||
|
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
users.users.harry123 = {
|
users.users.harry123 = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
|
shell = pkgs.zsh;
|
||||||
extraGroups = [
|
extraGroups = [
|
||||||
"wheel"
|
"wheel"
|
||||||
"audio"
|
"audio"
|
||||||
"video"
|
"video"
|
||||||
"networkmanager"
|
"networkmanager"
|
||||||
|
"podman"
|
||||||
];
|
];
|
||||||
|
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
|
|
|
@ -7,7 +7,11 @@
|
||||||
pkg:
|
pkg:
|
||||||
builtins.elem (lib.getName pkg) [
|
builtins.elem (lib.getName pkg) [
|
||||||
"davinci-resolve"
|
"davinci-resolve"
|
||||||
|
"vscode"
|
||||||
|
"tetrio-desktop"
|
||||||
|
"beeper"
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
zathura
|
zathura
|
||||||
# music editing software
|
# music editing software
|
||||||
|
@ -40,5 +44,24 @@
|
||||||
eclipses.eclipse-java # school wants us to use it...
|
eclipses.eclipse-java # school wants us to use it...
|
||||||
nil
|
nil
|
||||||
jetbrains.idea-ultimate
|
jetbrains.idea-ultimate
|
||||||
|
|
||||||
|
why3
|
||||||
|
alt-ergo
|
||||||
|
cvc4
|
||||||
|
z3
|
||||||
|
bitwarden
|
||||||
|
kicad
|
||||||
];
|
];
|
||||||
|
|
||||||
|
programs.kdeconnect.enable = true;
|
||||||
|
virtualisation.containers.enable = true;
|
||||||
|
virtualisation = {
|
||||||
|
podman = {
|
||||||
|
enable = true;
|
||||||
|
# Create a `docker` alias for podman, to use it as a drop-in replacement
|
||||||
|
dockerCompat = true;
|
||||||
|
# Required for containers under podman-compose to be able to talk to each other.
|
||||||
|
defaultNetwork.settings.dns_enabled = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue