From d8d3f43c53dcf9942ab5e4512533ff3513c8f8b4 Mon Sep 17 00:00:00 2001 From: alyx Date: Mon, 23 Feb 2026 12:17:05 +0000 Subject: [PATCH] substituters, sway mod preference per user, move hosts/absolution to hosts/apalapucia, etc --- flake.lock | 147 ++++++++++++- flake.nix | 11 +- home/default.nix | 36 +++- home/wms/config.kdl | 201 ------------------ home/wms/sway | 116 +++++----- .../apalapucia.nix} | 19 +- hosts/{absolution => apalapucia}/default.nix | 2 +- .../hardware-configuration.nix | 0 hosts/generic.nix | 21 ++ variables.nix | 1 + 10 files changed, 275 insertions(+), 279 deletions(-) delete mode 100644 home/wms/config.kdl rename hosts/{absolution/absolution.nix => apalapucia/apalapucia.nix} (77%) rename hosts/{absolution => apalapucia}/default.nix (75%) rename hosts/{absolution => apalapucia}/hardware-configuration.nix (100%) diff --git a/flake.lock b/flake.lock index 60f742a..3fc1457 100644 --- a/flake.lock +++ b/flake.lock @@ -1,8 +1,43 @@ { "nodes": { + "flake-compat": { + "locked": { + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "revCount": 69, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" + } + }, "flake-utils": { "inputs": { - "systems": "systems" + "systems": [ + "nixpkgs-xr", + "systems" + ] + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_2": { + "inputs": { + "systems": "systems_2" }, "locked": { "lastModified": 1731533236, @@ -54,7 +89,46 @@ "type": "github" } }, + "nixpkgs-xr": { + "inputs": { + "flake-compat": "flake-compat", + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs_2", + "nvfetcher": "nvfetcher", + "systems": "systems", + "treefmt-nix": "treefmt-nix" + }, + "locked": { + "lastModified": 1771812780, + "narHash": "sha256-uO9m93APRSZgFRxw3GVu09RNLH98WsYpfRHSNM6Ad1U=", + "owner": "nix-community", + "repo": "nixpkgs-xr", + "rev": "b91c0cf11e920a18a134aadf7fbe481f648205ee", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs-xr", + "type": "github" + } + }, "nixpkgs_2": { + "locked": { + "lastModified": 1771369470, + "narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "0182a361324364ae3f436a63005877674cf45efb", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1766651565, "narHash": "sha256-QEhk0eXgyIqTpJ/ehZKg9IKS7EtlWxF3N7DXy42zPfU=", @@ -70,14 +144,60 @@ "type": "github" } }, + "nvfetcher": { + "inputs": { + "flake-compat": [ + "nixpkgs-xr", + "flake-compat" + ], + "flake-utils": [ + "nixpkgs-xr", + "flake-utils" + ], + "nixpkgs": [ + "nixpkgs-xr", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1766178214, + "narHash": "sha256-tKDXreDwrRkdjvfot5fr1++ed6oOq3+/hW/Dj8WfTgs=", + "owner": "Red-M", + "repo": "nvfetcher", + "rev": "a84b3ce67f1d7acd85b3aa2b9967ab91ed6e7a71", + "type": "github" + }, + "original": { + "owner": "Red-M", + "repo": "nvfetcher", + "rev": "a84b3ce67f1d7acd85b3aa2b9967ab91ed6e7a71", + "type": "github" + } + }, "root": { "inputs": { "home-manager": "home-manager", "nixpkgs": "nixpkgs", + "nixpkgs-xr": "nixpkgs-xr", "waterfox": "waterfox" } }, "systems": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "systems_2": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -92,10 +212,31 @@ "type": "github" } }, + "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "nixpkgs-xr", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1770228511, + "narHash": "sha256-wQ6NJSuFqAEmIg2VMnLdCnUc0b7vslUohqqGGD+Fyxk=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "337a4fe074be1042a35086f15481d763b8ddc0e7", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, "waterfox": { "inputs": { - "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs_2" + "flake-utils": "flake-utils_2", + "nixpkgs": "nixpkgs_3" }, "locked": { "lastModified": 1770890709, diff --git a/flake.nix b/flake.nix index 46734e1..980441e 100644 --- a/flake.nix +++ b/flake.nix @@ -6,9 +6,10 @@ home-manager.url = "github:nix-community/home-manager"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; waterfox.url = "github:Hythera/nix-waterfox"; + nixpkgs-xr.url = "github:nix-community/nixpkgs-xr"; }; - outputs = inputs@{self, nixpkgs, home-manager, ...}:{ + outputs = inputs@{self, nixpkgs, home-manager, nixpkgs-xr, ...}:{ nixosConfigurations."fenix" = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit inputs; }; @@ -36,19 +37,17 @@ system = "x86_64-linux"; specialArgs = { inherit inputs; }; modules = [ - ./hosts/absolution + ./hosts/apalapucia ./variables.nix + nixpkgs-xr.nixosModules.nixpkgs-xr { config.var.username = "alyx"; config.var.hostname = "apalapucia"; config.var.timezone = "Europe/London"; + config.var.class = "desktop"; } home-manager.nixosModules.home-manager { home-manager.extraSpecialArgs = { inherit inputs; - vars = { - class = "desktop"; - user = "alyx"; - }; }; home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; diff --git a/home/default.nix b/home/default.nix index b06d026..d334c36 100644 --- a/home/default.nix +++ b/home/default.nix @@ -1,16 +1,15 @@ -{config, pkgs, lib, inputs, vars, ...}:{ +{config, pkgs, lib, inputs, vars, osConfig, ...}:{ imports = [ - # things we import later ]; home = rec { - username = vars.user; + username = osConfig.var.username; homeDirectory = "/home/${username}"; stateVersion = "26.05"; shell.enableBashIntegration = true; file = { - ".config/waybar/config".source = (if vars.user == "alyx" then config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/waybar/cyberhack" else config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/waybar/modern"); - ".config/waybar/style.css".source = (if vars.user == "alyx" then config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/waybar/cyberhack.css" else config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/waybar/modern.css"); + ".config/waybar/config".source = (if osConfig.var.username == "alyx" then config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/waybar/cyberhack" else config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/waybar/modern"); + ".config/waybar/style.css".source = (if osConfig.var.username == "alyx" then config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/waybar/cyberhack.css" else config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/waybar/modern.css"); }; pointerCursor = { gtk.enable = true; @@ -42,7 +41,7 @@ programs.home-manager.enable = true; programs.foot = { enable = true; - settings.main.font = (if vars.user == "alyx" then "monospace:size=20" else "monospace:size=12"); + settings.main.font = (if osConfig.var.username == "alyx" then "monospace:size=20" else "monospace:size=12"); settings.colors.alpha = "0.9"; }; @@ -55,7 +54,7 @@ services.mpd = { enable = true; - musicDirectory = "/home/${vars.user}/Music"; + musicDirectory = "/home/${osConfig.var.username}/Music"; extraConfig = '' audio_output { type "pipewire" @@ -73,8 +72,8 @@ programs.git = { enable = true; settings = { - user.name = vars.user; - user.email = (if vars.user == "alyx" then "alyxwren@proton.me" else "beanigit@protonmail.com"); + user.name = osConfig.var.username; + user.email = (if osConfig.var.username == "alyx" then "alyxwren@proton.me" else "beanigit@protonmail.com"); commit.gpgsign = true; gpg.format = "ssh"; user.signingKey = "~/.ssh/id_ed25519.pub"; @@ -96,13 +95,32 @@ wayland.windowManager.sway.xwayland = true; wayland.windowManager.sway.package = pkgs.swayfx; wayland.windowManager.sway.config = null; + + wayland.windowManager.sway.extraConfigEarly = (if osConfig.var.username == "alyx" then ''set $mod Mod1'' else ''set $mod Mod4''); + wayland.windowManager.sway.extraConfig = '' include ~/.config/nixos/home/wms/sway ''; wayland.windowManager.sway.checkConfig = false; + services.kanshi = { + enable = true; + settings = [ + { + profile.name = "alyx-desktop"; + profile.outputs = [ + { criteria = "Microstep MSI G273Q CA8A463100033"; position = "1600,0"; mode = "2560x1440@164.835007"; } + { criteria = "Dell Inc. Dell 2007FP MY546856GT2L"; position = "0,0"; mode = "1600x1200@60.000000"; } + { criteria = "Valve Corporation index HMD 0xEDE55842"; status = "disable"; } + ]; + } + ]; + }; + programs.obs-studio.enable = true; home.packages = with pkgs; [ + grim + slurp fzf libsForQt5.qt5ct kdePackages.qt6ct diff --git a/home/wms/config.kdl b/home/wms/config.kdl deleted file mode 100644 index 711d567..0000000 --- a/home/wms/config.kdl +++ /dev/null @@ -1,201 +0,0 @@ -input { - keyboard { - xkb { - layout "gb" - model "" - rules "" - } - repeat-delay 600 - repeat-rate 25 - track-layout "global" - } - touchpad { - natural-scroll - accel-profile "flat" - click-method "clickfinger" - scroll-factor 0.300000 - } - mouse { accel-profile "flat"; } - trackpoint { accel-profile "flat"; } - trackball { accel-profile "flat"; } - focus-follows-mouse - disable-power-key-handling - mod-key "Alt" -} -screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png" -prefer-no-csd -layout { - gaps 16 - struts { - left 0 - right 0 - top 0 - bottom 0 - } - focus-ring { - width 2 - active-color "rgb(0, 255, 255)" - inactive-color "rgb(0, 146, 148)" - } - border { off; } - default-column-width - center-focused-column "never" -} -cursor { - xcursor-theme "default" - xcursor-size 24 -} -hotkey-overlay { skip-at-startup; } -binds { - Alt+Print { screenshot-window; } - Ctrl+Print { screenshot-screen; } - Mod+1 { focus-workspace 1; } - Mod+2 { focus-workspace 2; } - Mod+3 { focus-workspace 3; } - Mod+4 { focus-workspace 4; } - Mod+5 { focus-workspace 5; } - Mod+6 { focus-workspace 6; } - Mod+7 { focus-workspace 7; } - Mod+8 { focus-workspace 8; } - Mod+9 { focus-workspace 9; } - Mod+C { center-column; } - Mod+Comma { consume-window-into-column; } - Mod+Ctrl+End { move-column-to-last; } - Mod+Ctrl+Home { move-column-to-first; } - Mod+Ctrl+I { move-column-to-workspace-up; } - "Mod+Ctrl+Page_Down" { move-column-to-workspace-down; } - "Mod+Ctrl+Page_Up" { move-column-to-workspace-up; } - Mod+Ctrl+Shift+WheelScrollDown { move-column-right; } - Mod+Ctrl+Shift+WheelScrollUp { move-column-left; } - Mod+Ctrl+U { move-column-to-workspace-down; } - Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; } - Mod+Ctrl+WheelScrollLeft { move-column-left; } - Mod+Ctrl+WheelScrollRight { move-column-right; } - Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; } - Mod+D { spawn "foot" "--title" "launch" "--app-id" "fzf-launcher-foot" "bash" "-c" "niri msg action spawn -- bash -c \"$(compgen -c | sort -u | fzf --bind=enter:replace-query+print-query) >/dev/null\""; } - Mod+Down { focus-window-down; } - Mod+End { focus-column-last; } - Mod+Equal { set-column-width "+10%"; } - Mod+F { maximize-column; } - Mod+H { focus-column-left; } - Mod+Home { focus-column-first; } - Mod+I { focus-workspace-down; } - Mod+J { focus-window-down; } - Mod+K { focus-window-up; } - Mod+L { focus-column-right; } - Mod+Left { focus-column-left; } - Mod+Minus { set-column-width "-10%"; } - Mod+N { spawn "swaync-client" "-t"; } - "Mod+Page_Down" { focus-workspace-down; } - "Mod+Page_Up" { focus-workspace-up; } - Mod+Period { expel-window-from-column; } - Mod+R { switch-preset-column-width; } - Mod+Return { spawn "foot"; } - Mod+Right { focus-column-right; } - Mod+Shift+1 { move-column-to-workspace 1; } - Mod+Shift+2 { move-column-to-workspace 2; } - Mod+Shift+3 { move-column-to-workspace 3; } - Mod+Shift+4 { move-column-to-workspace 4; } - Mod+Shift+5 { move-column-to-workspace 5; } - Mod+Shift+6 { move-column-to-workspace 6; } - Mod+Shift+7 { move-column-to-workspace 7; } - Mod+Shift+8 { move-column-to-workspace 8; } - Mod+Shift+9 { move-column-to-workspace 9; } - Mod+Shift+Ctrl+Down { move-column-to-monitor-down; } - Mod+Shift+Ctrl+H { move-column-to-monitor-left; } - Mod+Shift+Ctrl+J { move-column-to-monitor-down; } - Mod+Shift+Ctrl+K { move-column-to-monitor-up; } - Mod+Shift+Ctrl+L { move-column-to-monitor-right; } - Mod+Shift+Ctrl+Left { move-column-to-monitor-left; } - Mod+Shift+Ctrl+Right { move-column-to-monitor-right; } - Mod+Shift+Ctrl+Up { move-column-to-monitor-up; } - Mod+Shift+Down { move-window-down; } - Mod+Shift+E { quit; } - Mod+Shift+Equal { set-window-height "+10%"; } - Mod+Shift+F { fullscreen-window; } - Mod+Shift+H { move-column-left; } - Mod+Shift+I { move-workspace-up; } - Mod+Shift+J { move-window-down; } - Mod+Shift+K { move-window-up; } - Mod+Shift+L { move-column-right; } - Mod+Shift+Left { move-column-left; } - Mod+Shift+Minus { set-window-height "-10%"; } - Mod+Shift+P { power-off-monitors; } - "Mod+Shift+Page_Down" { move-workspace-down; } - "Mod+Shift+Page_Up" { move-workspace-up; } - Mod+Shift+Q repeat=false { close-window; } - Mod+Shift+R { reset-window-height; } - Mod+Shift+Right { move-column-right; } - Mod+Shift+Space { toggle-window-floating; } - Mod+Shift+U { move-workspace-down; } - Mod+Shift+Up { move-window-up; } - Mod+Shift+WheelScrollDown { focus-column-right; } - Mod+Shift+WheelScrollUp { focus-column-left; } - Mod+T { spawn "foot" "--title" "music" "--app-id" "mpd-control-foot" "ncmpcpp"; } - Mod+U { focus-workspace-up; } - Mod+Up { focus-window-up; } - Mod+V { spawn "/home/alyx/.binaries/wooz"; } - Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; } - Mod+WheelScrollLeft { focus-column-left; } - Mod+WheelScrollRight { focus-column-right; } - Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; } - Print { screenshot; } - XF86AudioLowerVolume { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "5%-"; } - XF86AudioMicMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"; } - XF86AudioMute { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; } - XF86AudioNext { spawn "playerctl" "next"; } - XF86AudioPlay { spawn "playerctl" "play-pause"; } - XF86AudioPrev { spawn "playerctl" "previous"; } - XF86AudioRaiseVolume { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "5%+"; } - XF86AudioStop { spawn "playerctl" "stop"; } - XF86MonBrightnessDown { spawn "brightnessctl" "s" "10%-"; } - XF86MonBrightnessUp { spawn "brightnessctl" "s" "+10%"; } -} - -output "DP-3" { - mode "2560x1440@164.835" - scale 1.0 - position x=0 y=0 - focus-at-startup -} - -overview { - backdrop-color "#002428" -} - -spawn-at-startup "waybar" -spawn-at-startup "mpdscribble" -spawn-at-startup "corectrl" "--minimize-systray" -spawn-at-startup "swww-daemon" -spawn-at-startup "udiskie" "--appindicator" -spawn-at-startup "swaync" -spawn-at-startup "/usr/libexec/polkit-mate-authentication-agent-1" -spawn-at-startup "sh" "-c" "EPYTHON=python3.12 mpdlcd &" -window-rule { - match title="^launch$" - open-floating true - default-column-width { fixed 1000; } - default-window-height { fixed 800; } -} -window-rule { - match title="^music$" - open-floating true -} -window-rule { - match title="^(Picture-in-Picture)$" - open-floating true - default-column-width { fixed 480; } - default-window-height { fixed 270; } -} -window-rule { - match title="^music$" - open-floating true - default-column-width { fixed 1000; } - default-window-height { fixed 800; } -} -window-rule { - draw-border-with-background false - geometry-corner-radius 12.000000 12.000000 12.000000 12.000000 - clip-to-geometry true -} -animations { slowdown 0.500000; } diff --git a/home/wms/sway b/home/wms/sway index e50064a..9ddc0db 100644 --- a/home/wms/sway +++ b/home/wms/sway @@ -1,5 +1,5 @@ font pango:monospace 8.000000 -floating_modifier Mod4 +floating_modifier $mod default_border pixel 2 default_floating_border normal 2 hide_edge_borders none @@ -12,62 +12,62 @@ workspace_auto_back_and_forth no client.urgent #2f343a #900000 #ffffff #900000 #900000 client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c client.background #ffffff -bindsym Mod4+1 workspace number 1 -bindsym Mod4+0 workspace number 10 -bindsym Mod4+2 workspace number 2 -bindsym Mod4+3 workspace number 3 -bindsym Mod4+4 workspace number 4 -bindsym Mod4+5 workspace number 5 -bindsym Mod4+6 workspace number 6 -bindsym Mod4+7 workspace number 7 -bindsym Mod4+8 workspace number 8 -bindsym Mod4+9 workspace number 9 -bindsym Mod4+Control+h workspace prev_on_output -bindsym Mod4+Control+l workspace next_on_output -bindsym Mod4+Down focus down -bindsym Mod4+Left focus left -bindsym Mod4+Return exec foot -bindsym Mod4+Right focus right -bindsym Mod4+Shift+0 move container to workspace number 10 -bindsym Mod4+Shift+1 move container to workspace number 1 -bindsym Mod4+Shift+2 move container to workspace number 2 -bindsym Mod4+Shift+3 move container to workspace number 3 -bindsym Mod4+Shift+4 move container to workspace number 4 -bindsym Mod4+Shift+5 move container to workspace number 5 -bindsym Mod4+Shift+6 move container to workspace number 6 -bindsym Mod4+Shift+7 move container to workspace number 7 -bindsym Mod4+Shift+8 move container to workspace number 8 -bindsym Mod4+Shift+9 move container to workspace number 9 -bindsym Mod4+Shift+Down move down -bindsym Mod4+Shift+Left move left -bindsym Mod4+Shift+Right move right -bindsym Mod4+Shift+Up move up -bindsym Mod4+Shift+c reload -bindsym Mod4+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -b 'Yes, exit sway' 'swaymsg exit' -bindsym Mod4+Shift+h move left -bindsym Mod4+Shift+j move down -bindsym Mod4+Shift+k move up -bindsym Mod4+Shift+l move right -bindsym Mod4+Shift+minus move scratchpad -bindsym Mod4+Shift+q kill -bindsym Mod4+Shift+s move scratchpad -bindsym Mod4+Shift+space floating toggle -bindsym Mod4+Up focus up -bindsym Mod4+a focus parent -bindsym Mod4+b splith -bindsym Mod4+d exec foot --title launch --app-id fzf-launcher-foot bash -c 'compgen -c | sort -u | fzf --bind=enter:replace-query+print-query | xargs swaymsg exec --' -bindsym Mod4+e layout toggle split -bindsym Mod4+f fullscreen toggle -bindsym Mod4+h focus left -bindsym Mod4+j focus down -bindsym Mod4+k focus up -bindsym Mod4+l focus right -bindsym Mod4+minus scratchpad show -bindsym Mod4+r mode resize -bindsym Mod4+s scratchpad show -bindsym Mod4+space focus mode_toggle -bindsym Mod4+t exec foot --title music --app-id mpd-control-foot ncmpcpp -bindsym Mod4+v splitv +bindsym $mod+1 workspace number 1 +bindsym $mod+0 workspace number 10 +bindsym $mod+2 workspace number 2 +bindsym $mod+3 workspace number 3 +bindsym $mod+4 workspace number 4 +bindsym $mod+5 workspace number 5 +bindsym $mod+6 workspace number 6 +bindsym $mod+7 workspace number 7 +bindsym $mod+8 workspace number 8 +bindsym $mod+9 workspace number 9 +bindsym $mod+Control+h workspace prev_on_output +bindsym $mod+Control+l workspace next_on_output +bindsym $mod+Down focus down +bindsym $mod+Left focus left +bindsym $mod+Return exec foot +bindsym $mod+Right focus right +bindsym $mod+Shift+0 move container to workspace number 10 +bindsym $mod+Shift+1 move container to workspace number 1 +bindsym $mod+Shift+2 move container to workspace number 2 +bindsym $mod+Shift+3 move container to workspace number 3 +bindsym $mod+Shift+4 move container to workspace number 4 +bindsym $mod+Shift+5 move container to workspace number 5 +bindsym $mod+Shift+6 move container to workspace number 6 +bindsym $mod+Shift+7 move container to workspace number 7 +bindsym $mod+Shift+8 move container to workspace number 8 +bindsym $mod+Shift+9 move container to workspace number 9 +bindsym $mod+Shift+Down move down +bindsym $mod+Shift+Left move left +bindsym $mod+Shift+Right move right +bindsym $mod+Shift+Up move up +bindsym $mod+Shift+c reload +bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -b 'Yes, exit sway' 'swaymsg exit' +bindsym $mod+Shift+h move left +bindsym $mod+Shift+j move down +bindsym $mod+Shift+k move up +bindsym $mod+Shift+l move right +bindsym $mod+Shift+minus move scratchpad +bindsym $mod+Shift+q kill +bindsym $mod+Shift+s move scratchpad +bindsym $mod+Shift+space floating toggle +bindsym $mod+Up focus up +bindsym $mod+a focus parent +bindsym $mod+b splith +bindsym $mod+d exec foot --title launch --app-id fzf-launcher-foot bash -c 'compgen -c | sort -u | fzf --bind=enter:replace-query+print-query | xargs swaymsg exec --' +bindsym $mod+e layout toggle split +bindsym $mod+f fullscreen toggle +bindsym $mod+h focus left +bindsym $mod+j focus down +bindsym $mod+k focus up +bindsym $mod+l focus right +bindsym $mod+minus scratchpad show +bindsym $mod+r mode resize +bindsym $mod+s scratchpad show +bindsym $mod+space focus mode_toggle +bindsym $mod+t exec foot --title music --app-id mpd-control-foot ncmpcpp +bindsym $mod+v splitv bindsym Print exec grim -g "$(slurp)" ~/Pictures/screenshots/screenshot-`date +%F-%T`.png bindsym Shift_L+Control_L+B exec playerctl position 10- @@ -140,7 +140,7 @@ exec kanshi exec swaync -exec swaybg -m fill -i ~/.config/nixos/assets/twilight.png +exec awww -d exec kde-indicator diff --git a/hosts/absolution/absolution.nix b/hosts/apalapucia/apalapucia.nix similarity index 77% rename from hosts/absolution/absolution.nix rename to hosts/apalapucia/apalapucia.nix index 79f9f89..6424708 100644 --- a/hosts/absolution/absolution.nix +++ b/hosts/apalapucia/apalapucia.nix @@ -18,7 +18,24 @@ nano = "nvim"; }; - services.displayManager.ly.enable = true; + services.displayManager.ly = { + enable = true; + settings.animation = "colormix"; + }; + + services.monado = { + enable = true; + defaultRuntime = true; + }; + + systemd.user.services.monado.environment = { + STEAMVR_LH_ENABLE = "1"; + XRT_COMPOSITOR_COMPUTE = "1"; + WMR_HANDTRACKING = "0"; + AMD_VULKAN_ICD = "RADV"; + }; + + services.udev.packages = with pkgs; [xr-hardware]; boot.kernelModules = [ "kvm-amd" "vhost_vsock" "vfio_virqfd" "vhost-net" "vfio_pci" "vfio_iommu_type1" "vfio"]; boot.kernelParams = [ "amd_iommu=on" ]; diff --git a/hosts/absolution/default.nix b/hosts/apalapucia/default.nix similarity index 75% rename from hosts/absolution/default.nix rename to hosts/apalapucia/default.nix index 4082110..ee5ddac 100644 --- a/hosts/absolution/default.nix +++ b/hosts/apalapucia/default.nix @@ -1,6 +1,6 @@ { config, pkgs, ... }:{ imports = [ - ./absolution.nix + ./apalapucia.nix ../generic.nix ]; } diff --git a/hosts/absolution/hardware-configuration.nix b/hosts/apalapucia/hardware-configuration.nix similarity index 100% rename from hosts/absolution/hardware-configuration.nix rename to hosts/apalapucia/hardware-configuration.nix diff --git a/hosts/generic.nix b/hosts/generic.nix index 760a9b2..da60178 100644 --- a/hosts/generic.nix +++ b/hosts/generic.nix @@ -37,11 +37,32 @@ gnupg.enable = true; }; + programs.sway.enable = (if config.var.class == "desktop" then true else false); + programs.gnupg.agent = { enable = true; enableSSHSupport = true; }; + nix.settings.substituters = [ + "https://nix-community.cachix.org" + "https://nixpkgs-wayland.cachix.org" + "https://cache.garnix.io" + ]; + + nix.settings.trusted-substituters = [ + "https://nix-community.cachix.org" + "https://nixpkgs-wayalnd.cachix.org" + "https://cache.garnix.io" + ]; + + nix.settings.trusted-public-keys = [ + "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" + "niri.cachix.org-1:Wv0OmO7PsuocRKzfDoJ3mulSl7Z6oezYhGhR+3W2964=" + "nixpkgs-wayland.cachix.org-1:3lwxaILxMRkVhehr5StQprHdEo4IrE8sRho9R9HOLYA=" + "cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g=" + ]; + systemd.user.services.polkit-gnome-authentication-agent-1 = { description = "polkit-gnome-authentication-agent-1"; wantedBy = [ "graphical-session.target" ]; diff --git a/variables.nix b/variables.nix index e7ce2c3..61641b3 100644 --- a/variables.nix +++ b/variables.nix @@ -6,6 +6,7 @@ hostname = lib.mkOption { type = str;}; locale = lib.mkOption { type = str;}; timezone = lib.mkOption { type = str;}; + class = lib.mkOption { type = str;}; #[...] }; config.var = {