diff --git a/flake.lock b/flake.lock index ad5f90dd..79f19fe6 100644 --- a/flake.lock +++ b/flake.lock @@ -153,11 +153,11 @@ ] }, "locked": { - "lastModified": 1710156081, - "narHash": "sha256-4PMY6aumJi5dLFjBzF5O4flKXmadMNq3AGUHKYfchh0=", + "lastModified": 1711099426, + "narHash": "sha256-HzpgM/wc3aqpnHJJ2oDqPBkNsqWbW0WfWUO8lKu8nGk=", "owner": "numtide", "repo": "devshell", - "rev": "bc68b058dc7e6d4d6befc4ec6c60082b6e844b7d", + "rev": "2d45b54ca4a183f2fdcf4b19c895b64fbf620ee8", "type": "github" }, "original": { @@ -668,11 +668,11 @@ ] }, "locked": { - "lastModified": 1710820906, - "narHash": "sha256-2bNMraoRB4pdw/HtxgYTFeMhEekBZeQ53/a8xkqpbZc=", + "lastModified": 1711133180, + "narHash": "sha256-WJOahf+6115+GMl3wUfURu8fszuNeJLv9qAWFQl3Vmo=", "owner": "nix-community", "repo": "home-manager", - "rev": "022464438a85450abb23d93b91aa82e0addd71fb", + "rev": "1c2c5e4cabba4c43504ef0f8cc3f3dfa284e2dbb", "type": "github" }, "original": { @@ -689,11 +689,11 @@ ] }, "locked": { - "lastModified": 1710820906, - "narHash": "sha256-2bNMraoRB4pdw/HtxgYTFeMhEekBZeQ53/a8xkqpbZc=", + "lastModified": 1711133180, + "narHash": "sha256-WJOahf+6115+GMl3wUfURu8fszuNeJLv9qAWFQl3Vmo=", "owner": "nix-community", "repo": "home-manager", - "rev": "022464438a85450abb23d93b91aa82e0addd71fb", + "rev": "1c2c5e4cabba4c43504ef0f8cc3f3dfa284e2dbb", "type": "github" }, "original": { @@ -774,11 +774,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1710760349, - "narHash": "sha256-yqGeSnAB3Yeg02jtitzSGIuE21kq7+pWAdeGK3F9/cY=", + "lastModified": 1711159783, + "narHash": "sha256-nwl2Cygq7NrV9QcebJE/T/vXv7w+zLERD7ygHz0F5g8=", "owner": "astro", "repo": "microvm.nix", - "rev": "0e2223d8fd459725850bd9aff7e9d68ec329769a", + "rev": "d31f7c7d3194c51372134832a3a2a256773c161a", "type": "github" }, "original": { @@ -872,11 +872,11 @@ ] }, "locked": { - "lastModified": 1710722910, - "narHash": "sha256-P5p9+WQFuABoBXBKEK1ZYu8mD6q8j/cQwZ9OYb0oh2E=", + "lastModified": 1711108213, + "narHash": "sha256-Q8cwpA2LQOInqeXVckrfFlbzHB8HOWrYntuOxqn3A3g=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "e63df01c798b99a76dc2ec25481be7dd25cd1610", + "rev": "417a857dfb824e60930881a254dd67d6796f5884", "type": "github" }, "original": { @@ -1014,26 +1014,26 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1710861126, - "narHash": "sha256-q8fiy9mgUvTAt2OMjiVpQgDlykyGury9Fpsm0jekBfY=", + "lastModified": 1711223581, + "narHash": "sha256-gxwEymONInAXL6mM5c0JyIu18kANnL9ckJCKPrYnzxo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2dcadb7087e38314cebb15af65f8f2a15d2940cc", + "rev": "af8bf466f6a04f569f49b1d062fe4fab06fae357", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "nixos-unstable-small", + "ref": "master", "type": "indirect" } }, "nixpkgs_6": { "locked": { - "lastModified": 1710806803, - "narHash": "sha256-qrxvLS888pNJFwJdK+hf1wpRCSQcqA6W5+Ox202NDa0=", + "lastModified": 1711001935, + "narHash": "sha256-URtGpHue7HHZK0mrHnSf8wJ6OmMKYSsoLmJybrOLFSQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b06025f1533a1e07b6db3e75151caa155d1c7eb3", + "rev": "20f77aa09916374aa3141cbc605c955626762c9a", "type": "github" }, "original": { @@ -1086,11 +1086,11 @@ "pre-commit-hooks": "pre-commit-hooks" }, "locked": { - "lastModified": 1710936779, - "narHash": "sha256-ecYnUzSWqRae10pp7J6ZE2BznTPJ9f8sLiIoDBQtRBw=", + "lastModified": 1711199922, + "narHash": "sha256-Oz5WNOPp95K4JLyoNQKyEdaUM5JzliC62jwTpGPqYNE=", "owner": "pta2002", "repo": "nixvim", - "rev": "4f6e90212c7ec56d7c03611fb86befa313e7f61f", + "rev": "7170aad28139cd3629b2b6ce4c9272bf41c2ad45", "type": "github" }, "original": { @@ -1101,11 +1101,11 @@ }, "nur": { "locked": { - "lastModified": 1710940845, - "narHash": "sha256-hDL4J2VgG0fmCuq+X1M6e7nVp2a5xHl05PfQZlANhkQ=", + "lastModified": 1711221702, + "narHash": "sha256-OXF5uu1CKPG+O2/I0ZT0m1iUcX3j91p4heSKHB0G9xM=", "owner": "nix-community", "repo": "NUR", - "rev": "1593636f37dc0b788e75fb843916ce1afd21fcd0", + "rev": "b1106d45a93dd804f3669d5271ff0bb03350d344", "type": "github" }, "original": { @@ -1129,11 +1129,11 @@ ] }, "locked": { - "lastModified": 1710843117, - "narHash": "sha256-b6iKQeHegzpc697rxTPA3bpwGN3m50eLCgdQOmceFuE=", + "lastModified": 1710923068, + "narHash": "sha256-6hOpUiuxuwpXXc/xfJsBUJeqqgGI+JMJuLo45aG3cKc=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "e8dc1b4fe80c6fcededde7700e6a23bcdf7f3347", + "rev": "e611897ddfdde3ed3eaac4758635d7177ff78673", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 2f92f0e2..cdeb0e9e 100644 --- a/flake.nix +++ b/flake.nix @@ -5,7 +5,7 @@ # * https://github.com/Infinidoge/nix-minecraft inputs = { - nixpkgs.url = "nixpkgs/nixos-unstable-small"; + nixpkgs.url = "nixpkgs/master"; flake-utils-plus.url = "github:gytis-ivaskevicius/flake-utils-plus/v1.4.0"; diff --git a/hosts/thalassa/aoife/hardware.nix b/hosts/thalassa/aoife/hardware.nix index bdee64b8..772120d3 100644 --- a/hosts/thalassa/aoife/hardware.nix +++ b/hosts/thalassa/aoife/hardware.nix @@ -1,4 +1,5 @@ -{ pkgs, ... }: { +{ pkgs, ... }: +{ environment.systemPackages = with pkgs; [ pciutils usbutils @@ -27,7 +28,16 @@ hardware.bolt.enable = true; - fprintd.enable = true; + fprintd = { + enable = true; + # fprintd test suite fails + package = pkgs.fprintd.overrideAttrs { + mesonCheckFlags = [ + "--no-suite" + "fprintd:TestPamFprintd" + ]; + }; + }; # Video Driver xserver = { @@ -57,11 +67,9 @@ # tpm enable = true; - pkcs11.enable = - true; # expose /run/current-system/sw/lib/libtpm2_pkcs11.so + pkcs11.enable = true; # expose /run/current-system/sw/lib/libtpm2_pkcs11.so tctiEnvironment.enable = true; }; }; # TPM2TOOLS_TCTI and TPM2_PKCS11_TCTI env variables - users.users.vivian.extraGroups = - [ "tss" ]; # tss group has access to TPM devices + users.users.vivian.extraGroups = [ "tss" ]; # tss group has access to TPM devices } diff --git a/hosts/thalassa/aoife/home/hyprland.nix b/hosts/thalassa/aoife/home/hyprland.nix index 2e5f3370..2751c5df 100644 --- a/hosts/thalassa/aoife/home/hyprland.nix +++ b/hosts/thalassa/aoife/home/hyprland.nix @@ -1,178 +1,163 @@ -{ pkgs, ... }: { - # home.file.".config/hypr/hyprland.conf".source = ./hyprland.conf; +{ pkgs, ... }: +{ + programs = { + wofi = { + enable = true; + }; - programs.wofi = { - enable = true; + eww = { + enable = true; + package = pkgs.eww-wayland; + configDir = ./eww; + }; + + waybar = { + enable = true; + settings = { + mainBar = { + layer = "top"; + position = "top"; + height = 30; + modules-left = [ "hyprland/workspaces" ]; + modules-center = [ "clock" ]; + modules-right = [ "wireplumber" "power-profiles-daemon" "network" "battery" ]; + }; + }; + systemd = { + enable = true; + target = "hyprland-session.target"; + }; + }; }; - programs.eww = { - enable = true; - package = pkgs.eww-wayland; - configDir = ./eww; - }; - - wayland.windowManager.hyprland = { enable = true; systemd.enable = true; + + settings = { + monitor = ",preferred,auto,auto"; + input = { + kb_options = "caps:escape"; + touchpad.natural_scroll = true; + }; + general = { + gaps_in = 5; + gaps_out = 20; + border_size = 2; + "col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg"; + "col.inactive_border" = "rgba(595959aa)"; + layout = "dwindle"; + # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on + allow_tearing = false; + }; + decoration = { + rounding = 10; + + blur = { + enabled = true; + size = 3; + passes = 1; + }; + + drop_shadow = "yes"; + shadow_range = 4; + shadow_render_power = 3; + "col.shadow" = "rgba(1a1a1aee)"; + }; + animations = { + enabled = "yes"; + + bezier = "myBezier, 0.05, 0.9, 0.1, 1.05"; + + animation = [ + "windows, 1, 7, myBezier" + "windowsOut, 1, 7, default, popin 80%" + "border, 1, 10, default" + "borderangle, 1, 8, default" + "fade, 1, 7, default" + "workspaces, 1, 6, default" + ]; + }; + dwindle = { + preserve_split = "yes"; + pseudotile = "yes"; + }; + gestures.workspace_swipe = true; + }; extraConfig = '' -# See https://wiki.hyprland.org/Configuring/Monitors/ -monitor=,preferred,auto,auto + $terminal = kitty + $fileManager = dolphin + $menu = wofi --show drun + misc { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + force_default_wallpaper = 2 # Set to 0 or 1 to disable the anime mascot wallpapers + disable_splash_rendering = true + } -# See https://wiki.hyprland.org/Configuring/Keywords/ for more + # Window Rules + windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. + windowrulev2 = workspace 1 silent, class:^(Element)$ + windowrulev2 = workspace 1 silent, class:^(discord)$ + windowrulev2 = workspace 2 silent, class:^(firefox)$ + windowrulev2 = float,class:^(firefox)$,title:^(Picture-in-Picture)$ -# Execute your favorite apps at launch -# exec-once = waybar & hyprpaper & firefox + # See https://wiki.hyprland.org/Configuring/Keywords/ for more + $mainMod = SUPER -# Source a file (multi-file configs) -# source = ~/.config/hypr/myColors.conf + # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more + bind = $mainMod, RETURN, exec, $terminal + bind = $mainMod, Q, killactive, + bind = $mainMod SHIFT, escape, exit, + bind = $mainMod, E, exec, $fileManager + bind = $mainMod, V, togglefloating, + bind = $mainMod, D, exec, $menu + bind = $mainMod, P, pseudo, # dwindle + bind = $mainMod, J, togglesplit, # dwindle -# Set programs that you use -$terminal = kitty -$fileManager = dolphin -$menu = wofi --show drun + # Fullscreen + bind=SUPER,m,fullscreen -# Some default env vars. -# env = XCURSOR_SIZE,24 + # Move focus with mainMod + arrow keys + bind = $mainMod, left, movefocus, l + bind = $mainMod, right, movefocus, r + bind = $mainMod, up, movefocus, u + bind = $mainMod, down, movefocus, d -# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ -input { - kb_options=caps:escape - touchpad { - natural_scroll= true - } -} + # Switch workspaces with mainMod + [0-9] + bind = $mainMod, 1, workspace, 1 + bind = $mainMod, 2, workspace, 2 + bind = $mainMod, 3, workspace, 3 + bind = $mainMod, 4, workspace, 4 + bind = $mainMod, 5, workspace, 5 + bind = $mainMod, 6, workspace, 6 + bind = $mainMod, 7, workspace, 7 + bind = $mainMod, 8, workspace, 8 + bind = $mainMod, 9, workspace, 9 + bind = $mainMod, 0, workspace, 10 -general { - # See https://wiki.hyprland.org/Configuring/Variables/ for more + # Move active window to a workspace with mainMod + SHIFT + [0-9] + bind = $mainMod SHIFT, 1, movetoworkspace, 1 + bind = $mainMod SHIFT, 2, movetoworkspace, 2 + bind = $mainMod SHIFT, 3, movetoworkspace, 3 + bind = $mainMod SHIFT, 4, movetoworkspace, 4 + bind = $mainMod SHIFT, 5, movetoworkspace, 5 + bind = $mainMod SHIFT, 6, movetoworkspace, 6 + bind = $mainMod SHIFT, 7, movetoworkspace, 7 + bind = $mainMod SHIFT, 8, movetoworkspace, 8 + bind = $mainMod SHIFT, 9, movetoworkspace, 9 + bind = $mainMod SHIFT, 0, movetoworkspace, 10 - gaps_in = 5 - gaps_out = 20 - border_size = 2 - col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg - col.inactive_border = rgba(595959aa) + # Example special workspace (scratchpad) + bind = $mainMod, S, togglespecialworkspace, magic + bind = $mainMod SHIFT, S, movetoworkspace, special:magic - layout = dwindle + # Scroll through existing workspaces with mainMod + scroll + bind = $mainMod, mouse_down, workspace, e+1 + bind = $mainMod, mouse_up, workspace, e-1 - # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on - allow_tearing = false -} - -decoration { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - - rounding = 10 - - blur { - enabled = true - size = 3 - passes = 1 - } - - drop_shadow = yes - shadow_range = 4 - shadow_render_power = 3 - col.shadow = rgba(1a1a1aee) -} - -animations { - enabled = yes - - # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more - - bezier = myBezier, 0.05, 0.9, 0.1, 1.05 - - animation = windows, 1, 7, myBezier - animation = windowsOut, 1, 7, default, popin 80% - animation = border, 1, 10, default - animation = borderangle, 1, 8, default - animation = fade, 1, 7, default - animation = workspaces, 1, 6, default -} - -dwindle { - # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more - pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below - preserve_split = yes # you probably want this -} - -gestures { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - workspace_swipe = true -} - -misc { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - force_default_wallpaper = 2 # Set to 0 or 1 to disable the anime mascot wallpapers -} - -# Window Rules -windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. -windowrulev2 = workspace 1 silent, class:^(Element)$ -windowrulev2 = workspace 1 silent, class:^(discord)$ -windowrulev2 = workspace 2 silent, class:^(firefox)$ -windowrulev2 = float,class:^(firefox)$,title:^(Picture-in-Picture)$ - -# See https://wiki.hyprland.org/Configuring/Keywords/ for more -$mainMod = SUPER - -# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more -bind = $mainMod, RETURN, exec, $terminal -bind = $mainMod, Q, killactive, -bind = $mainMod SHIFT, escape, exit, -bind = $mainMod, E, exec, $fileManager -bind = $mainMod, V, togglefloating, -bind = $mainMod, D, exec, $menu -bind = $mainMod, P, pseudo, # dwindle -bind = $mainMod, J, togglesplit, # dwindle - -# Fullscreen -bind=SUPER,m,fullscreen - -# Move focus with mainMod + arrow keys -bind = $mainMod, left, movefocus, l -bind = $mainMod, right, movefocus, r -bind = $mainMod, up, movefocus, u -bind = $mainMod, down, movefocus, d - -# Switch workspaces with mainMod + [0-9] -bind = $mainMod, 1, workspace, 1 -bind = $mainMod, 2, workspace, 2 -bind = $mainMod, 3, workspace, 3 -bind = $mainMod, 4, workspace, 4 -bind = $mainMod, 5, workspace, 5 -bind = $mainMod, 6, workspace, 6 -bind = $mainMod, 7, workspace, 7 -bind = $mainMod, 8, workspace, 8 -bind = $mainMod, 9, workspace, 9 -bind = $mainMod, 0, workspace, 10 - -# Move active window to a workspace with mainMod + SHIFT + [0-9] -bind = $mainMod SHIFT, 1, movetoworkspace, 1 -bind = $mainMod SHIFT, 2, movetoworkspace, 2 -bind = $mainMod SHIFT, 3, movetoworkspace, 3 -bind = $mainMod SHIFT, 4, movetoworkspace, 4 -bind = $mainMod SHIFT, 5, movetoworkspace, 5 -bind = $mainMod SHIFT, 6, movetoworkspace, 6 -bind = $mainMod SHIFT, 7, movetoworkspace, 7 -bind = $mainMod SHIFT, 8, movetoworkspace, 8 -bind = $mainMod SHIFT, 9, movetoworkspace, 9 -bind = $mainMod SHIFT, 0, movetoworkspace, 10 - -# Example special workspace (scratchpad) -bind = $mainMod, S, togglespecialworkspace, magic -bind = $mainMod SHIFT, S, movetoworkspace, special:magic - -# Scroll through existing workspaces with mainMod + scroll -bind = $mainMod, mouse_down, workspace, e+1 -bind = $mainMod, mouse_up, workspace, e-1 - -# Move/resize windows with mainMod + LMB/RMB and dragging -bindm = $mainMod, mouse:272, movewindow -bindm = $mainMod, mouse:273, resizewindow - -# vim: ft=hyprlang + # Move/resize windows with mainMod + LMB/RMB and dragging + bindm = $mainMod, mouse:272, movewindow + bindm = $mainMod, mouse:273, resizewindow ''; }; - }