feat: easy theme switching with stylix, specialisations, and a rofi script; feat: switch to kitty terminal
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
./btop.nix
|
||||
./carapace.nix
|
||||
./fastfetch.nix
|
||||
./foot.nix
|
||||
./git.nix
|
||||
./hyfetch.nix
|
||||
./mako.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";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
{ config, ... }:
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
home.packages = [ pkgs.libnotify ];
|
||||
|
||||
xdg.configFile."rofi/config.rasi".text = ''
|
||||
configuration{
|
||||
modi: "run,drun,window";
|
||||
|
||||
@@ -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/
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
'';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user