add: theme-switcher
This commit is contained in:
parent
d40fbe7eed
commit
a4ff711bc3
64
flake.lock
Normal file
64
flake.lock
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"home-manager": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1738448366,
|
||||||
|
"narHash": "sha256-4ATtQqBlgsGqkHTemta0ydY6f7JBRXz4Hf574NHQpkg=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "18fa9f323d8adbb0b7b8b98a8488db308210ed93",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixos-hardware": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1738471961,
|
||||||
|
"narHash": "sha256-cgXDFrplNGs7bCVzXhRofjD8oJYqqXGcmUzXjHmip6Y=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixos-hardware",
|
||||||
|
"rev": "537286c3c59b40311e5418a180b38034661d2536",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixos-hardware",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1738410390,
|
||||||
|
"narHash": "sha256-xvTo0Aw0+veek7hvEVLzErmJyQkEcRk6PSR4zsRQFEc=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "3a228057f5b619feb3186e986dbe76278d707b6e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"home-manager": "home-manager",
|
||||||
|
"nixos-hardware": "nixos-hardware",
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
|
@ -181,7 +181,6 @@
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
plugins = [
|
plugins = [
|
||||||
# pkgs.hyprlandPlugins.
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
|
|
|
@ -9,13 +9,21 @@
|
||||||
vscode
|
vscode
|
||||||
vivaldi
|
vivaldi
|
||||||
discord
|
discord
|
||||||
discord-canary
|
|
||||||
helvum
|
helvum
|
||||||
obs-studio
|
obs-studio
|
||||||
superfile
|
superfile
|
||||||
plemoljp
|
plemoljp
|
||||||
plemoljp-nf
|
plemoljp-nf
|
||||||
prismlauncher
|
prismlauncher
|
||||||
|
scrcpy
|
||||||
|
tetrio-desktop
|
||||||
|
kicad
|
||||||
|
blender-hip
|
||||||
|
gimp
|
||||||
|
inkscape
|
||||||
|
obsidian
|
||||||
|
zed-editor
|
||||||
|
easyeffects
|
||||||
];
|
];
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -24,12 +24,13 @@
|
||||||
deno
|
deno
|
||||||
nodejs
|
nodejs
|
||||||
pnpm
|
pnpm
|
||||||
scrcpy
|
|
||||||
tetrio-desktop
|
qemu
|
||||||
# kicad
|
(pkgs.writeShellScriptBin "qemu-system-x86_64-uefi" ''
|
||||||
# blender-hip
|
qemu-system-x86_64 \
|
||||||
gimp
|
-bios ${pkgs.OVMF.fd}/FV/OVMF.fd \
|
||||||
inkscape
|
"$@"
|
||||||
|
'')
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
|
|
@ -38,7 +38,7 @@ let
|
||||||
extraSpecialArgs = {
|
extraSpecialArgs = {
|
||||||
inherit inputs hostname username;
|
inherit inputs hostname username;
|
||||||
};
|
};
|
||||||
modules = homeModule ++ [
|
modules = [
|
||||||
{
|
{
|
||||||
home = {
|
home = {
|
||||||
inherit username;
|
inherit username;
|
||||||
|
@ -47,7 +47,8 @@ let
|
||||||
};
|
};
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
}
|
}
|
||||||
];
|
(import ../system/home-manager)
|
||||||
|
] ++ homeModule;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
zip
|
zip
|
||||||
unzip
|
unzip
|
||||||
ripgrep
|
ripgrep
|
||||||
btop
|
btop-rocm
|
||||||
bat
|
bat
|
||||||
|
|
||||||
wezterm
|
wezterm
|
||||||
|
|
11
system/home-manager/default.nix
Normal file
11
system/home-manager/default.nix
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./theme-switcher.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
home.activation = {
|
||||||
|
makedir = ''
|
||||||
|
mkdir -p ~/.config/cornflake
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
29
system/home-manager/theme-switcher.nix
Normal file
29
system/home-manager/theme-switcher.nix
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
let
|
||||||
|
apply-theme-script = pkgs.writeScript "apply-theme" ''
|
||||||
|
curr=$(cat ~/.config/cornflake/current-theme)
|
||||||
|
if [ "$curr" = "prefer-light" ]; then
|
||||||
|
dconf write /org/gnome/desktop/interface/color-scheme "'prefer-light'"
|
||||||
|
else
|
||||||
|
dconf write /org/gnome/desktop/interface/color-scheme "'prefer-dark'"
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
|
||||||
|
desktopEntry = {
|
||||||
|
name = "Toggle theme";
|
||||||
|
exec = ''${pkgs.writeScript "theme" ''
|
||||||
|
curr=$(cat ~/.config/cornflake/current-theme)
|
||||||
|
if [ "$curr" = "prefer-light" ]; then
|
||||||
|
echo 'prefer-dark' > ~/.config/cornflake/current-theme
|
||||||
|
else
|
||||||
|
echo 'prefer-light' > ~/.config/cornflake/current-theme
|
||||||
|
fi
|
||||||
|
${apply-theme-script}
|
||||||
|
''}'';
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
xdg.desktopEntries = {
|
||||||
|
theme-switcher = desktopEntry;
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user