substituters, sway mod preference per user, move hosts/absolution to hosts/apalapucia, etc

This commit is contained in:
alyx 2026-02-23 12:17:05 +00:00
parent d0bb2fe776
commit d8d3f43c53
Signed by: alyx
SSH key fingerprint: SHA256:ikXQIBRoakFdxVU/cImm2/V8XxM0gMJU8QybMfU66H0
10 changed files with 275 additions and 279 deletions

147
flake.lock generated
View file

@ -1,8 +1,43 @@
{ {
"nodes": { "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": { "flake-utils": {
"inputs": { "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": { "locked": {
"lastModified": 1731533236, "lastModified": 1731533236,
@ -54,7 +89,46 @@
"type": "github" "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": { "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": { "locked": {
"lastModified": 1766651565, "lastModified": 1766651565,
"narHash": "sha256-QEhk0eXgyIqTpJ/ehZKg9IKS7EtlWxF3N7DXy42zPfU=", "narHash": "sha256-QEhk0eXgyIqTpJ/ehZKg9IKS7EtlWxF3N7DXy42zPfU=",
@ -70,14 +144,60 @@
"type": "github" "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": { "root": {
"inputs": { "inputs": {
"home-manager": "home-manager", "home-manager": "home-manager",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nixpkgs-xr": "nixpkgs-xr",
"waterfox": "waterfox" "waterfox": "waterfox"
} }
}, },
"systems": { "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": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@ -92,10 +212,31 @@
"type": "github" "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": { "waterfox": {
"inputs": { "inputs": {
"flake-utils": "flake-utils", "flake-utils": "flake-utils_2",
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs_3"
}, },
"locked": { "locked": {
"lastModified": 1770890709, "lastModified": 1770890709,

View file

@ -6,9 +6,10 @@
home-manager.url = "github:nix-community/home-manager"; home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs"; home-manager.inputs.nixpkgs.follows = "nixpkgs";
waterfox.url = "github:Hythera/nix-waterfox"; 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 { nixosConfigurations."fenix" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
specialArgs = { inherit inputs; }; specialArgs = { inherit inputs; };
@ -36,19 +37,17 @@
system = "x86_64-linux"; system = "x86_64-linux";
specialArgs = { inherit inputs; }; specialArgs = { inherit inputs; };
modules = [ modules = [
./hosts/absolution ./hosts/apalapucia
./variables.nix ./variables.nix
nixpkgs-xr.nixosModules.nixpkgs-xr
{ config.var.username = "alyx"; { config.var.username = "alyx";
config.var.hostname = "apalapucia"; config.var.hostname = "apalapucia";
config.var.timezone = "Europe/London"; config.var.timezone = "Europe/London";
config.var.class = "desktop";
} }
home-manager.nixosModules.home-manager { home-manager.nixosModules.home-manager {
home-manager.extraSpecialArgs = { home-manager.extraSpecialArgs = {
inherit inputs; inherit inputs;
vars = {
class = "desktop";
user = "alyx";
};
}; };
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true; home-manager.useUserPackages = true;

View file

@ -1,16 +1,15 @@
{config, pkgs, lib, inputs, vars, ...}:{ {config, pkgs, lib, inputs, vars, osConfig, ...}:{
imports = [ imports = [
# things we import later
]; ];
home = rec { home = rec {
username = vars.user; username = osConfig.var.username;
homeDirectory = "/home/${username}"; homeDirectory = "/home/${username}";
stateVersion = "26.05"; stateVersion = "26.05";
shell.enableBashIntegration = true; shell.enableBashIntegration = true;
file = { 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/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 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/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 = { pointerCursor = {
gtk.enable = true; gtk.enable = true;
@ -42,7 +41,7 @@
programs.home-manager.enable = true; programs.home-manager.enable = true;
programs.foot = { programs.foot = {
enable = true; 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"; settings.colors.alpha = "0.9";
}; };
@ -55,7 +54,7 @@
services.mpd = { services.mpd = {
enable = true; enable = true;
musicDirectory = "/home/${vars.user}/Music"; musicDirectory = "/home/${osConfig.var.username}/Music";
extraConfig = '' extraConfig = ''
audio_output { audio_output {
type "pipewire" type "pipewire"
@ -73,8 +72,8 @@
programs.git = { programs.git = {
enable = true; enable = true;
settings = { settings = {
user.name = vars.user; user.name = osConfig.var.username;
user.email = (if vars.user == "alyx" then "alyxwren@proton.me" else "beanigit@protonmail.com"); user.email = (if osConfig.var.username == "alyx" then "alyxwren@proton.me" else "beanigit@protonmail.com");
commit.gpgsign = true; commit.gpgsign = true;
gpg.format = "ssh"; gpg.format = "ssh";
user.signingKey = "~/.ssh/id_ed25519.pub"; user.signingKey = "~/.ssh/id_ed25519.pub";
@ -96,13 +95,32 @@
wayland.windowManager.sway.xwayland = true; wayland.windowManager.sway.xwayland = true;
wayland.windowManager.sway.package = pkgs.swayfx; wayland.windowManager.sway.package = pkgs.swayfx;
wayland.windowManager.sway.config = null; 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 = '' wayland.windowManager.sway.extraConfig = ''
include ~/.config/nixos/home/wms/sway include ~/.config/nixos/home/wms/sway
''; '';
wayland.windowManager.sway.checkConfig = false; 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; programs.obs-studio.enable = true;
home.packages = with pkgs; [ home.packages = with pkgs; [
grim
slurp
fzf fzf
libsForQt5.qt5ct libsForQt5.qt5ct
kdePackages.qt6ct kdePackages.qt6ct

View file

@ -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; }

View file

@ -1,5 +1,5 @@
font pango:monospace 8.000000 font pango:monospace 8.000000
floating_modifier Mod4 floating_modifier $mod
default_border pixel 2 default_border pixel 2
default_floating_border normal 2 default_floating_border normal 2
hide_edge_borders none hide_edge_borders none
@ -12,62 +12,62 @@ workspace_auto_back_and_forth no
client.urgent #2f343a #900000 #ffffff #900000 #900000 client.urgent #2f343a #900000 #ffffff #900000 #900000
client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c
client.background #ffffff client.background #ffffff
bindsym Mod4+1 workspace number 1 bindsym $mod+1 workspace number 1
bindsym Mod4+0 workspace number 10 bindsym $mod+0 workspace number 10
bindsym Mod4+2 workspace number 2 bindsym $mod+2 workspace number 2
bindsym Mod4+3 workspace number 3 bindsym $mod+3 workspace number 3
bindsym Mod4+4 workspace number 4 bindsym $mod+4 workspace number 4
bindsym Mod4+5 workspace number 5 bindsym $mod+5 workspace number 5
bindsym Mod4+6 workspace number 6 bindsym $mod+6 workspace number 6
bindsym Mod4+7 workspace number 7 bindsym $mod+7 workspace number 7
bindsym Mod4+8 workspace number 8 bindsym $mod+8 workspace number 8
bindsym Mod4+9 workspace number 9 bindsym $mod+9 workspace number 9
bindsym Mod4+Control+h workspace prev_on_output bindsym $mod+Control+h workspace prev_on_output
bindsym Mod4+Control+l workspace next_on_output bindsym $mod+Control+l workspace next_on_output
bindsym Mod4+Down focus down bindsym $mod+Down focus down
bindsym Mod4+Left focus left bindsym $mod+Left focus left
bindsym Mod4+Return exec foot bindsym $mod+Return exec foot
bindsym Mod4+Right focus right bindsym $mod+Right focus right
bindsym Mod4+Shift+0 move container to workspace number 10 bindsym $mod+Shift+0 move container to workspace number 10
bindsym Mod4+Shift+1 move container to workspace number 1 bindsym $mod+Shift+1 move container to workspace number 1
bindsym Mod4+Shift+2 move container to workspace number 2 bindsym $mod+Shift+2 move container to workspace number 2
bindsym Mod4+Shift+3 move container to workspace number 3 bindsym $mod+Shift+3 move container to workspace number 3
bindsym Mod4+Shift+4 move container to workspace number 4 bindsym $mod+Shift+4 move container to workspace number 4
bindsym Mod4+Shift+5 move container to workspace number 5 bindsym $mod+Shift+5 move container to workspace number 5
bindsym Mod4+Shift+6 move container to workspace number 6 bindsym $mod+Shift+6 move container to workspace number 6
bindsym Mod4+Shift+7 move container to workspace number 7 bindsym $mod+Shift+7 move container to workspace number 7
bindsym Mod4+Shift+8 move container to workspace number 8 bindsym $mod+Shift+8 move container to workspace number 8
bindsym Mod4+Shift+9 move container to workspace number 9 bindsym $mod+Shift+9 move container to workspace number 9
bindsym Mod4+Shift+Down move down bindsym $mod+Shift+Down move down
bindsym Mod4+Shift+Left move left bindsym $mod+Shift+Left move left
bindsym Mod4+Shift+Right move right bindsym $mod+Shift+Right move right
bindsym Mod4+Shift+Up move up bindsym $mod+Shift+Up move up
bindsym Mod4+Shift+c reload bindsym $mod+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 $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 Mod4+Shift+h move left bindsym $mod+Shift+h move left
bindsym Mod4+Shift+j move down bindsym $mod+Shift+j move down
bindsym Mod4+Shift+k move up bindsym $mod+Shift+k move up
bindsym Mod4+Shift+l move right bindsym $mod+Shift+l move right
bindsym Mod4+Shift+minus move scratchpad bindsym $mod+Shift+minus move scratchpad
bindsym Mod4+Shift+q kill bindsym $mod+Shift+q kill
bindsym Mod4+Shift+s move scratchpad bindsym $mod+Shift+s move scratchpad
bindsym Mod4+Shift+space floating toggle bindsym $mod+Shift+space floating toggle
bindsym Mod4+Up focus up bindsym $mod+Up focus up
bindsym Mod4+a focus parent bindsym $mod+a focus parent
bindsym Mod4+b splith bindsym $mod+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 $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 Mod4+e layout toggle split bindsym $mod+e layout toggle split
bindsym Mod4+f fullscreen toggle bindsym $mod+f fullscreen toggle
bindsym Mod4+h focus left bindsym $mod+h focus left
bindsym Mod4+j focus down bindsym $mod+j focus down
bindsym Mod4+k focus up bindsym $mod+k focus up
bindsym Mod4+l focus right bindsym $mod+l focus right
bindsym Mod4+minus scratchpad show bindsym $mod+minus scratchpad show
bindsym Mod4+r mode resize bindsym $mod+r mode resize
bindsym Mod4+s scratchpad show bindsym $mod+s scratchpad show
bindsym Mod4+space focus mode_toggle bindsym $mod+space focus mode_toggle
bindsym Mod4+t exec foot --title music --app-id mpd-control-foot ncmpcpp bindsym $mod+t exec foot --title music --app-id mpd-control-foot ncmpcpp
bindsym Mod4+v splitv bindsym $mod+v splitv
bindsym Print exec grim -g "$(slurp)" ~/Pictures/screenshots/screenshot-`date +%F-%T`.png bindsym Print exec grim -g "$(slurp)" ~/Pictures/screenshots/screenshot-`date +%F-%T`.png
bindsym Shift_L+Control_L+B exec playerctl position 10- bindsym Shift_L+Control_L+B exec playerctl position 10-
@ -140,7 +140,7 @@ exec kanshi
exec swaync exec swaync
exec swaybg -m fill -i ~/.config/nixos/assets/twilight.png exec awww -d
exec kde-indicator exec kde-indicator

View file

@ -18,7 +18,24 @@
nano = "nvim"; 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.kernelModules = [ "kvm-amd" "vhost_vsock" "vfio_virqfd" "vhost-net" "vfio_pci" "vfio_iommu_type1" "vfio"];
boot.kernelParams = [ "amd_iommu=on" ]; boot.kernelParams = [ "amd_iommu=on" ];

View file

@ -1,6 +1,6 @@
{ config, pkgs, ... }:{ { config, pkgs, ... }:{
imports = [ imports = [
./absolution.nix ./apalapucia.nix
../generic.nix ../generic.nix
]; ];
} }

View file

@ -37,11 +37,32 @@
gnupg.enable = true; gnupg.enable = true;
}; };
programs.sway.enable = (if config.var.class == "desktop" then true else false);
programs.gnupg.agent = { programs.gnupg.agent = {
enable = true; enable = true;
enableSSHSupport = 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 = { systemd.user.services.polkit-gnome-authentication-agent-1 = {
description = "polkit-gnome-authentication-agent-1"; description = "polkit-gnome-authentication-agent-1";
wantedBy = [ "graphical-session.target" ]; wantedBy = [ "graphical-session.target" ];

View file

@ -6,6 +6,7 @@
hostname = lib.mkOption { type = str;}; hostname = lib.mkOption { type = str;};
locale = lib.mkOption { type = str;}; locale = lib.mkOption { type = str;};
timezone = lib.mkOption { type = str;}; timezone = lib.mkOption { type = str;};
class = lib.mkOption { type = str;};
#[...] #[...]
}; };
config.var = { config.var = {