Compare commits

...

3 commits

Author SHA1 Message Date
e85b6af95b
chore: bump flake
Some checks failed
/ test (push) Failing after 5m16s
2025-03-03 16:44:33 +01:00
9be6eef517
chore: update hyprland keybinds to match sway's 2025-03-03 16:44:33 +01:00
df9a38e03d
chore: move common packages into users/ 2025-03-03 16:44:33 +01:00
6 changed files with 146 additions and 137 deletions

View file

@ -4,7 +4,6 @@
| ------- | ------- | ---------------------------------------- |
| marr | x86_64 | Laptop Workstation |
| brontes | x86_64 | Desktop Workstation |
| styrax | x86_64 | |
| raptus | x86_64 | |
| nihilus | aarch64 | Small Pi used to make "off-site" backups |

42
flake.lock generated
View file

@ -52,11 +52,11 @@
]
},
"locked": {
"lastModified": 1737038063,
"narHash": "sha256-rMEuiK69MDhjz1JgbaeQ9mBDXMJ2/P8vmOYRbFndXsk=",
"lastModified": 1740485968,
"narHash": "sha256-WK+PZHbfDjLyveXAxpnrfagiFgZWaTJglewBWniTn2Y=",
"owner": "nix-community",
"repo": "disko",
"rev": "bf0abfde48f469c256f2b0f481c6281ff04a5db2",
"rev": "19c1140419c4f1cdf88ad4c1cfb6605597628940",
"type": "github"
},
"original": {
@ -88,11 +88,11 @@
]
},
"locked": {
"lastModified": 1736143030,
"narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=",
"lastModified": 1740872218,
"narHash": "sha256-ZaMw0pdoUKigLpv9HiNDH2Pjnosg7NBYMJlHTIsHEUo=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de",
"rev": "3876f6b87db82f33775b1ef5ea343986105db764",
"type": "github"
},
"original": {
@ -163,11 +163,11 @@
]
},
"locked": {
"lastModified": 1737619027,
"narHash": "sha256-jEzZs9dHdmVP5X9HCC/7jrv08aWFfqZV5cZ+cZWYGA4=",
"lastModified": 1740199244,
"narHash": "sha256-BiNUbNWLcG8AuKiAZmJ8tS+fr+JO8vGwB7QQ54cezKk=",
"owner": "feel-co",
"repo": "hjem",
"rev": "48cfa21987672a31a358b7e4d582fc174556e633",
"rev": "829109220c14352990bee4cf092f4918f45fb6a1",
"type": "github"
},
"original": {
@ -186,11 +186,11 @@
]
},
"locked": {
"lastModified": 1740423947,
"narHash": "sha256-TLUC9rkFZBvKSnNtrdkHY0NsnKmW6XYRIdje6Yt2b3w=",
"lastModified": 1740813707,
"narHash": "sha256-68aj7BGtwU3lTDupA1pvVrOxOswqIvnXWRCHkJyBSvk=",
"owner": "nydragon",
"repo": "hjem-rum",
"rev": "de016de0f8e602529f88c0dbd840e4091b566f3f",
"rev": "04a953ecd7ce494f7528bede04d5705f119319c8",
"type": "github"
},
"original": {
@ -206,11 +206,11 @@
]
},
"locked": {
"lastModified": 1737762889,
"narHash": "sha256-5HGG09bh/Yx0JA8wtBMAzt0HMCL1bYZ93x4IqzVExio=",
"lastModified": 1740845322,
"narHash": "sha256-AXEgFj3C0YJhu9k1OhbRhiA6FnDr81dQZ65U3DhaWpw=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "daf04c5950b676f47a794300657f1d3d14c1a120",
"rev": "fcac3d6d88302a5e64f6cb8014ac785e08874c8d",
"type": "github"
},
"original": {
@ -221,11 +221,11 @@
},
"nixos-hardware": {
"locked": {
"lastModified": 1737751639,
"narHash": "sha256-ZEbOJ9iT72iwqXsiEMbEa8wWjyFvRA9Ugx8utmYbpz4=",
"lastModified": 1740646007,
"narHash": "sha256-dMReDQobS3kqoiUCQIYI9c0imPXRZnBubX20yX/G5LE=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "dfad538f751a5aa5d4436d9781ab27a6128ec9d4",
"rev": "009b764ac98a3602d41fc68072eeec5d24fc0e49",
"type": "github"
},
"original": {
@ -265,11 +265,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1737885589,
"narHash": "sha256-Zf0hSrtzaM1DEz8//+Xs51k/wdSajticVrATqDrfQjg=",
"lastModified": 1740828860,
"narHash": "sha256-cjbHI+zUzK5CPsQZqMhE3npTyYFt9tJ3+ohcfaOF/WM=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "852ff1d9e153d8875a83602e03fdef8a63f0ecf8",
"rev": "303bd8071377433a2d8f76e684ec773d70c5b642",
"type": "github"
},
"original": {

View file

@ -7,7 +7,7 @@
}:
let
inherit (lib) mapAttrsToList mkIf hasAttr;
inherit (lib.my) getExe;
inherit (lib.my) getExe getExe';
in
mkIf osConfig.programs.hyprland.enable {
home.sessionVariables.ELECTRON_OZONE_PLATFORM_HINT = "auto";
@ -146,71 +146,78 @@ mkIf osConfig.programs.hyprland.enable {
disable_hyprland_logo = false;
focus_on_activate = false; # Open windows without focusing them
new_window_takes_over_fullscreen = 2; # When a new window opens, the current fullscreen window returns to its tiled state
key_press_enables_dpms = true;
mouse_move_enables_dpms = true;
disable_autoreload = true;
};
bindm = [ "$mod,mouse:272,movewindow" ];
bind = [
"$mod, D, exec, ${getExe osConfig.modules.system.roles.desktop.runner.package}"
"$mod, E, exec, ${getExe osConfig.modules.system.roles.desktop.filemanager}"
"$mod, Return, exec, ${getExe osConfig.modules.system.roles.desktop.terminal}"
"$mod SHIFT, Q, killactive,"
"$mod, V, togglefloating"
"$mod SHIFT, P, exec, ${config.programs.rofi.package}/bin/rofi -show p -modi p:${pkgs.rofi-power-menu}/bin/rofi-power-menu"
"$mod, P, exec, ${getExe pkgs.cliphist} wipe & ${getExe pkgs.hyprlock}"
"$mod SHIFT, C, exec, hyprctl reload"
"$mod SHIFT, space, togglefloating"
"$mod, left, movefocus, l"
"$mod, right, movefocus, r"
"$mod, up, movefocus, u"
"$mod, down, movefocus, d"
bind =
let
copy = getExe' pkgs.wl-clipboard "wl-copy";
in
[
"$mod, D, exec, ${getExe osConfig.modules.system.roles.desktop.runner.package}"
"$mod, E, exec, ${getExe osConfig.modules.system.roles.desktop.filemanager}"
"$mod, Return, exec, ${getExe osConfig.modules.system.roles.desktop.terminal}"
"$mod SHIFT, Q, killactive,"
"$mod, V, togglefloating"
"$mod SHIFT, P, exec, ${getExe pkgs.scripts.powerMenu}"
"$mod, P, exec, ${getExe pkgs.cliphist} wipe & ${getExe pkgs.hyprlock}"
"$mod SHIFT, C, exec, hyprctl reload"
"$mod SHIFT, space, togglefloating"
"$mod, left, movefocus, l"
"$mod, right, movefocus, r"
"$mod, up, movefocus, u"
"$mod, down, movefocus, d"
# Example special workspace (scratchpad)
"$mod, S, togglespecialworkspace, magic"
"$mod SHIFT, S, movetoworkspace, special:magic"
"$mod, X, fullscreen, 1"
"$mod, F, fullscreen, 0"
"$mod, N, exec, ${pkgs.swaynotificationcenter}/bin/swaync-client -t"
"$mod, U, exec, ${pkgs.hyprshot}/bin/hyprshot -z -o $XDG_PICTURES_DIR/screenshots -m region"
"$mod SHIFT, U, exec, ${pkgs.hyprshot}/bin/hyprshot -z --raw -m region | ${pkgs.satty}/bin/satty -f - --fullscreen"
# Example special workspace (scratchpad)
"$mod, S, togglespecialworkspace, magic"
"$mod SHIFT, S, movetoworkspace, special:magic"
"$mod, X, fullscreen, 1"
"$mod, F, fullscreen, 0"
"$mod, N, exec, ${pkgs.swaynotificationcenter}/bin/swaync-client -t"
"$mod, U, exec, ${pkgs.hyprshot}/bin/hyprshot -o ${config.xdg.userDirs.pictures}/screenshots -m region"
"$mod SHIFT, U, exec, ${pkgs.hyprshot}/bin/hyprshot --raw -m region | ${getExe pkgs.satty} -f - --fullscreen --copy-command ${copy}"
#: Brightness and Media {{{
",XF86MonBrightnessUp, exec, ${pkgs.brightnessctl}/bin/brightnessctl s +10%"
",XF86MonBrightnessDown, exec, ${pkgs.brightnessctl}/bin/brightnessctl s 10%-"
",XF86AudioRaiseVolume, exec, ${pkgs.pamixer}/bin/pamixer -i 5"
",XF86AudioLowerVolume, exec, ${pkgs.pamixer}/bin/pamixer -d 5"
",XF86AudioMicMute, exec, ${pkgs.pamixer}/bin/pamixer --default-source -m"
",XF86AudioMute, exec, ${pkgs.pamixer}/bin/pamixer -t"
",XF86AudioPlay, exec, ${pkgs.playerctl}/bin/playerctl play-pause"
",XF86AudioPause, exec, ${pkgs.playerctl}/bin/playerctl play-pause"
",XF86AudioNext, exec, ${pkgs.playerctl}/bin/playerctl next"
",XF86AudioPrev, exec, ${pkgs.playerctl}/bin/playerctl previous"
#: }}}
#: Brightness and Media {{{
",XF86MonBrightnessUp, exec, ${pkgs.brightnessctl}/bin/brightnessctl s +10%"
",XF86MonBrightnessDown, exec, ${pkgs.brightnessctl}/bin/brightnessctl s 10%-"
",XF86AudioRaiseVolume, exec, ${getExe pkgs.pamixer} -u && ${pkgs.pamixer}/bin/pamixer -i 5"
",XF86AudioLowerVolume, exec, ${getExe pkgs.pamixer} -u && ${pkgs.pamixer}/bin/pamixer -d 5"
",XF86AudioMicMute, exec, ${pkgs.pamixer}/bin/pamixer --default-source -m"
",XF86AudioMute, exec, ${pkgs.pamixer}/bin/pamixer -t"
",XF86AudioPlay, exec, ${pkgs.playerctl}/bin/playerctl play-pause"
",XF86AudioPause, exec, ${pkgs.playerctl}/bin/playerctl play-pause"
",XF86AudioNext, exec, ${pkgs.playerctl}/bin/playerctl next"
",XF86AudioPrev, exec, ${pkgs.playerctl}/bin/playerctl previous"
#: }}}
# Workspaces
"$mod, code:10, workspace, 1"
"$mod, code:11, workspace, 2"
"$mod, code:12, workspace, 3"
"$mod, code:13, workspace, 4"
"$mod, code:14, workspace, 5"
"$mod, code:15, workspace, 6"
"$mod, code:16, workspace, 7"
"$mod, code:17, workspace, 8"
"$mod, code:18, workspace, 9"
"$mod, code:19, workspace, 10"
# Workspaces
"$mod, code:10, workspace, 1"
"$mod, code:11, workspace, 2"
"$mod, code:12, workspace, 3"
"$mod, code:13, workspace, 4"
"$mod, code:14, workspace, 5"
"$mod, code:15, workspace, 6"
"$mod, code:16, workspace, 7"
"$mod, code:17, workspace, 8"
"$mod, code:18, workspace, 9"
"$mod, code:19, workspace, 10"
# Send to Workspaces
"$mod SHIFT, code:10, movetoworkspace, 1"
"$mod SHIFT, code:11, movetoworkspace, 2"
"$mod SHIFT, code:12, movetoworkspace, 3"
"$mod SHIFT, code:13, movetoworkspace, 4"
"$mod SHIFT, code:14, movetoworkspace, 5"
"$mod SHIFT, code:15, movetoworkspace, 6"
"$mod SHIFT, code:16, movetoworkspace, 7"
"$mod SHIFT, code:17, movetoworkspace, 8"
"$mod SHIFT, code:18, movetoworkspace, 9"
"$mod SHIFT, code:19, movetoworkspace, 10"
];
# Send to Workspaces
"$mod SHIFT, code:10, movetoworkspace, 1"
"$mod SHIFT, code:11, movetoworkspace, 2"
"$mod SHIFT, code:12, movetoworkspace, 3"
"$mod SHIFT, code:13, movetoworkspace, 4"
"$mod SHIFT, code:14, movetoworkspace, 5"
"$mod SHIFT, code:15, movetoworkspace, 6"
"$mod SHIFT, code:16, movetoworkspace, 7"
"$mod SHIFT, code:17, movetoworkspace, 8"
"$mod SHIFT, code:18, movetoworkspace, 9"
"$mod SHIFT, code:19, movetoworkspace, 10"
];
};
};
}

View file

@ -2,7 +2,6 @@
{
pkgs,
config,
inputs',
...
}:
let
@ -116,17 +115,16 @@ in
users = {
defaultUserShell = pkgs.fish;
users.${username} = {
packages = [
inputs'.nur.packages.grayjay-desktop
];
isNormalUser = true;
createHome = true;
packages = with pkgs; [
prismlauncher
orca-slicer
];
extraGroups = [
"networkmanager"
"wheel"
"audio"
"libvirtd" # VM OPs
"dialout" # Necessary for serial port interactions
];
};
};

View file

@ -1,5 +1,4 @@
{
pkgs,
config,
inputs,
...
@ -36,55 +35,8 @@ in
};
home = {
stateVersion = config.system.stateVersion;
inherit (config.system) stateVersion;
inherit username;
packages = with pkgs; [
keepassxc
digikam
fragments
element-desktop
libreoffice
loupe
seahorse
gimp
pwvucontrol
thunderbird
keepassxc
protonmail-bridge-gui
varia
signal-desktop
tagger
prismlauncher
orca-slicer
kid3
soundconverter
# proprietary
obsidian
# CLI tools
jhead
fdupes
exiftool
sshfs
lazygit
wl-clipboard
# custom
nysh
scripts.nixedit
scripts.set-background
scripts.fishl
scripts.nrun
scripts.rpaste
scripts.genswitch
scripts.gentest
scripts.editsym
scripts.deployswitch
scripts.deploytest
];
};
};
}

View file

@ -1,7 +1,16 @@
{ lib, ... }:
{
lib,
inputs',
pkgs,
config,
...
}:
let
inherit (config.modules.meta) username;
in
{
hjem = {
users.ny = {
users.${username} = {
enable = true;
imports = [ ./programs ];
};
@ -10,4 +19,48 @@
};
clobberByDefault = true;
};
users.users.${username}.packages =
[
inputs'.nur.packages.grayjay-desktop
]
++ (with pkgs; [
keepassxc
digikam
fragments
element-desktop
libreoffice
loupe
seahorse
pwvucontrol
thunderbird
keepassxc
protonmail-bridge-gui
signal-desktop
tagger
kid3
# proprietary
obsidian
# CLI tools
jhead
fdupes
exiftool
sshfs
wl-clipboard
# custom
nysh
scripts.nixedit
scripts.set-background
scripts.fishl
scripts.nrun
scripts.rpaste
scripts.genswitch
scripts.gentest
scripts.editsym
scripts.deployswitch
scripts.deploytest
]);
}