diff --git a/home/pc/common/home.nix b/home/pc/common/home.nix index b5ab577..69fae73 100644 --- a/home/pc/common/home.nix +++ b/home/pc/common/home.nix @@ -17,6 +17,8 @@ home.homeDirectory = "/home/autumn"; home.stateVersion = "25.05"; + programs.kitty.enable = true; + stylix = { targets.waybar.enable = false; targets.zathura.enable = false; diff --git a/home/pc/common/hyprland.nix b/home/pc/common/hyprland.nix index 7135a97..b180dc6 100644 --- a/home/pc/common/hyprland.nix +++ b/home/pc/common/hyprland.nix @@ -9,8 +9,9 @@ $mainMod=SUPER $menu=rofi -show drun $powerMenu=rofi -show power-menu -modi "power-menu:rofi-power-menu --choices lockscreen/suspend/reboot/shutdown" + $switchThemes=rofi -show switch-theme -modes "switch-theme:/etc/nixos/home/pc/common/programs/rofi/scripts/switch-theme.sh" $screenshot=slurp | grim -g - - | wl-copy - $terminal=foot + $terminal=kitty animations { bezier=myBezier, 0.05, 0.9, 0.1, 1.05 animation=windows, 1, 7, myBezier @@ -88,6 +89,7 @@ bind=$mainMod, M, exit bind=$mainMod, V, togglefloating bind=$mainMod, D, exec, $menu + bind=$mainMod, H, exec, $switchThemes bind=$mainMod, P, pseudo bind=$mainMod, T, togglesplit bind=$mainMod, S, exec, $screenshot @@ -139,7 +141,7 @@ env=HYPRCURSOR_SIZE,24 exec-once=swww-daemon - exec=swww img ${config.stylix.image} + exec=swww img ${config.stylix.image} -t none exec-once=waybar exec=pkill waybar; waybar diff --git a/home/pc/common/programs/default.nix b/home/pc/common/programs/default.nix index 1b4d217..7c8f6cf 100644 --- a/home/pc/common/programs/default.nix +++ b/home/pc/common/programs/default.nix @@ -6,7 +6,6 @@ ./btop.nix ./carapace.nix ./fastfetch.nix - ./foot.nix ./git.nix ./hyfetch.nix ./mako.nix diff --git a/home/pc/common/programs/foot.nix b/home/pc/common/programs/foot.nix index 1f1d145..4ca5c39 100644 --- a/home/pc/common/programs/foot.nix +++ b/home/pc/common/programs/foot.nix @@ -1,13 +1,12 @@ -{...}: { +{ config, lib, ... }: +{ programs.foot = { enable = true; settings = { - cursor = { - style = "beam"; - }; - key-bindings = { - spawn-terminal = "none"; - }; + main.font = lib.mkForce "${config.stylix.fonts.monospace.name}:size=19"; + main.font-size-adjustment = 1; + cursor.style = "beam"; + key-bindings.spawn-terminal = "none"; }; }; } diff --git a/home/pc/common/programs/rofi/config.nix b/home/pc/common/programs/rofi/config.nix index ee8de54..de283cc 100644 --- a/home/pc/common/programs/rofi/config.nix +++ b/home/pc/common/programs/rofi/config.nix @@ -1,5 +1,7 @@ -{ config, ... }: +{ config, pkgs, ... }: { + home.packages = [ pkgs.libnotify ]; + xdg.configFile."rofi/config.rasi".text = '' configuration{ modi: "run,drun,window"; diff --git a/home/pc/common/programs/rofi/scripts/switch-theme.sh b/home/pc/common/programs/rofi/scripts/switch-theme.sh new file mode 100755 index 0000000..83625c1 --- /dev/null +++ b/home/pc/common/programs/rofi/scripts/switch-theme.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +if [[ -n $1 ]]; then + sudo /nix/var/nix/profiles/system/specialisation/$1/bin/switch-to-configuration test > /dev/null + notify-send "Switched to theme $1" + exit 0 +fi + +ls /nix/var/nix/profiles/system/specialisation/ diff --git a/host/pc/common/configuration.nix b/host/pc/common/configuration.nix index 7cba3f0..ffa77e4 100644 --- a/host/pc/common/configuration.nix +++ b/host/pc/common/configuration.nix @@ -2,6 +2,7 @@ inputs, hostName, pkgs, + userName, ... }: @@ -38,7 +39,7 @@ home-manager = { extraSpecialArgs = { inherit inputs; }; users = { - autumn = import (../../.. + "/home/pc/${hostName}/home.nix"); + ${userName} = import (../../.. + "/home/pc/${hostName}/home.nix"); }; }; @@ -83,9 +84,8 @@ hardware.bluetooth.enable = true; hardware.bluetooth.powerOnBoot = true; - users.users.autumn = { + users.users.${userName} = { isNormalUser = true; - description = "Autumn"; extraGroups = [ "networkmanager" "wheel" diff --git a/host/pc/common/stylix.nix b/host/pc/common/stylix.nix index 28ea24c..e88d846 100644 --- a/host/pc/common/stylix.nix +++ b/host/pc/common/stylix.nix @@ -1,7 +1,8 @@ { inputs, - pkgs, lib, + pkgs, + userName, ... }: let @@ -71,4 +72,11 @@ in gruvbox-dark-hard.configuration.stylix = lib.mkForce (makeTheme "gruvbox-dark-hard" "dark"); heetch.configuration.stylix = lib.mkForce (makeTheme "heetch" "dark"); }; + + security.sudo.extraConfig = '' + ${userName} ALL = (root) NOPASSWD: /nix/var/nix/profiles/system/specialisation/catppuccin-mocha/bin/switch-to-configuration + ${userName} ALL = (root) NOPASSWD: /nix/var/nix/profiles/system/specialisation/catppuccin-latte/bin/switch-to-configuration + ${userName} ALL = (root) NOPASSWD: /nix/var/nix/profiles/system/specialisation/gruvbox-dark-hard/bin/switch-to-configuration + ${userName} ALL = (root) NOPASSWD: /nix/var/nix/profiles/system/specialisation/heetch/bin/switch-to-configuration + ''; }