initial switch to hyprland
This commit is contained in:
parent
1daf9cf44b
commit
6c8c5c43d4
41 changed files with 562 additions and 501 deletions
100
flake.lock
generated
100
flake.lock
generated
|
|
@ -21,11 +21,11 @@
|
||||||
"nixpkgs-lib": "nixpkgs-lib"
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1756770412,
|
"lastModified": 1759362264,
|
||||||
"narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
|
"narHash": "sha256-wfG0S7pltlYyZTM+qqlhJ7GMw2fTF4mLKCIVhLii/4M=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "4524271976b625a4a605beefd893f270620fd751",
|
"rev": "758cf7296bee11f1706a574c77d072b8a7baa881",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -61,11 +61,11 @@
|
||||||
"zon2nix": "zon2nix"
|
"zon2nix": "zon2nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1759249740,
|
"lastModified": 1759677488,
|
||||||
"narHash": "sha256-csdhbTzHy7LjedNmSFVBIaUca3IBGK6YKeDO3UUd7nw=",
|
"narHash": "sha256-fhRv6OdFLSfuiDDJpcfmmGRzy0fSSzOHbdMpuvwysTU=",
|
||||||
"owner": "ghostty-org",
|
"owner": "ghostty-org",
|
||||||
"repo": "ghostty",
|
"repo": "ghostty",
|
||||||
"rev": "ceac472af000ce370520b31a9fba927f55e7aac7",
|
"rev": "fa3bc416ab08a7ab849ef878c01009c0710725b4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -113,20 +113,20 @@
|
||||||
"url": "ssh://git@github.com/alsaiduq-lab/Hu-Tao-Animated-Cursor"
|
"url": "ssh://git@github.com/alsaiduq-lab/Hu-Tao-Animated-Cursor"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"i3-dotfiles": {
|
"hyprland-dots": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1758613492,
|
"lastModified": 1759689455,
|
||||||
"narHash": "sha256-pYaBq0FCUoSZtTE73HAWDw97LEBvp56upVfJcLbdBH4=",
|
"narHash": "sha256-GsuG+Gbs3XMbmmkK1azoWF+ZUJ891OhRMy3S6Fv8qo0=",
|
||||||
"ref": "refs/heads/master",
|
"ref": "refs/heads/master",
|
||||||
"rev": "73238b6b91151a0feeb4c7162fc5d1ca4e8fb132",
|
"rev": "3c8faf70c7b92a09399f6ab48bb7b06c47a7b833",
|
||||||
"revCount": 14,
|
"revCount": 19,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "ssh://git@github.com/alsaiduq-lab/i3-dotfiles"
|
"url": "ssh://git@github.com/alsaiduq-lab/hyprland-dots"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "ssh://git@github.com/alsaiduq-lab/i3-dotfiles"
|
"url": "ssh://git@github.com/alsaiduq-lab/hyprland-dots"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nix-gaming": {
|
"nix-gaming": {
|
||||||
|
|
@ -137,11 +137,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1759110900,
|
"lastModified": 1759629535,
|
||||||
"narHash": "sha256-fcu/r0ijvaYT2VHGkZGr0wq9uBMNFkiftVBy43/2oig=",
|
"narHash": "sha256-VIXcJ2ahRgoqIUySwAz3r5mtITO2dp6tXGCVKVW6FmA=",
|
||||||
"owner": "fufexan",
|
"owner": "fufexan",
|
||||||
"repo": "nix-gaming",
|
"repo": "nix-gaming",
|
||||||
"rev": "2ac6a49266e9159ccb001b4c8cb1f50f67d502ae",
|
"rev": "df388c42b54714bd121796a9cec9322b7fa2894e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -152,15 +152,15 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748189127,
|
"lastModified": 315532800,
|
||||||
"narHash": "sha256-zRDR+EbbeObu4V2X5QCd2Bk5eltfDlCr5yvhBwUT6pY=",
|
"narHash": "sha256-YwoXN6fthkakCFD7nXPcUK+rkNr6ZTNTuF8zdGaxZo0=",
|
||||||
"rev": "7c43f080a7f28b2774f3b3f43234ca11661bf334",
|
"rev": "dc704e6102e76aad573f63b74c742cd96f8f1e6c",
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://releases.nixos.org/nixos/25.05/nixos-25.05.802491.7c43f080a7f2/nixexprs.tar.xz"
|
"url": "https://releases.nixos.org/nixpkgs/nixpkgs-25.11pre870318.dc704e6102e7/nixexprs.tar.xz"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://channels.nixos.org/nixos-25.05/nixexprs.tar.xz"
|
"url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-lib": {
|
"nixpkgs-lib": {
|
||||||
|
|
@ -209,11 +209,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1759143472,
|
"lastModified": 1759580034,
|
||||||
"narHash": "sha256-TvODmeR2W7yX/JmOCmP+lAFNkTT7hAxYcF3Kz8SZV3w=",
|
"narHash": "sha256-YWo57PL7mGZU7D4WeKFMiW4ex/O6ZolUS6UNBHTZfkI=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "5ed4e25ab58fd4c028b59d5611e14ea64de51d23",
|
"rev": "3bcc93c5f7a4b30335d31f21e2f1281cba68c318",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -223,14 +223,52 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nvim-dots": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1759115710,
|
||||||
|
"narHash": "sha256-IdLoHrGkhlqAJmfi4nRe2DAoHA5udyb5UTSCpNboaOo=",
|
||||||
|
"owner": "alsaiduq-lab",
|
||||||
|
"repo": "nvim-dotfiles",
|
||||||
|
"rev": "d251eb27eb70f67373aea50a15f1f71748af9039",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "alsaiduq-lab",
|
||||||
|
"repo": "nvim-dotfiles",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"quickshell": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1759610621,
|
||||||
|
"narHash": "sha256-P3UPFd95mS/3aNgy40nCXAmyfR2bEEBd+tX6xfkYFb0=",
|
||||||
|
"ref": "refs/heads/master",
|
||||||
|
"rev": "c5c438f1cd1a76660a8658ef929a3d19e968e2ce",
|
||||||
|
"revCount": 689,
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
||||||
|
}
|
||||||
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"ghostty": "ghostty",
|
"ghostty": "ghostty",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"hu-tao-cursor": "hu-tao-cursor",
|
"hu-tao-cursor": "hu-tao-cursor",
|
||||||
"i3-dotfiles": "i3-dotfiles",
|
"hyprland-dots": "hyprland-dots",
|
||||||
"nix-gaming": "nix-gaming",
|
"nix-gaming": "nix-gaming",
|
||||||
"nixpkgs": "nixpkgs_4",
|
"nixpkgs": "nixpkgs_4",
|
||||||
|
"nvim-dots": "nvim-dots",
|
||||||
|
"quickshell": "quickshell",
|
||||||
"unstable": "unstable"
|
"unstable": "unstable"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -251,11 +289,11 @@
|
||||||
},
|
},
|
||||||
"unstable": {
|
"unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1759070547,
|
"lastModified": 1759632233,
|
||||||
"narHash": "sha256-JVZl8NaVRYb0+381nl7LvPE+A774/dRpif01FKLrYFQ=",
|
"narHash": "sha256-krgZxGAIIIKFJS+UB0l8do3sYUDWJc75M72tepmVMzE=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "647e5c14cbd5067f44ac86b74f014962df460840",
|
"rev": "d7f52a7a640bc54c7bb414cca603835bf8dd4b10",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -281,11 +319,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748261582,
|
"lastModified": 1759192380,
|
||||||
"narHash": "sha256-3i0IL3s18hdDlbsf0/E+5kyPRkZwGPbSFngq5eToiAA=",
|
"narHash": "sha256-0BWJgt4OSzxCESij5oo8WLWrPZ+1qLp8KUQe32QeV4Q=",
|
||||||
"owner": "mitchellh",
|
"owner": "mitchellh",
|
||||||
"repo": "zig-overlay",
|
"repo": "zig-overlay",
|
||||||
"rev": "aafb1b093fb838f7a02613b719e85ec912914221",
|
"rev": "0bcd1401ed43d10f10cbded49624206553e92f57",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
||||||
46
flake.nix
46
flake.nix
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
description = "NixOS configuration for Cobray";
|
description = "NixOS configuration (hyprland) for Cobray";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
|
||||||
|
|
@ -17,20 +17,38 @@
|
||||||
unstable = {
|
unstable = {
|
||||||
url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
||||||
};
|
};
|
||||||
ghostty = {
|
|
||||||
url = "github:ghostty-org/ghostty";
|
quickshell = {
|
||||||
|
url = "git+https://git.outfoxxed.me/outfoxxed/quickshell";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
i3-dotfiles = {
|
|
||||||
url = "git+ssh://git@github.com/alsaiduq-lab/i3-dotfiles";
|
nvim-dots = {
|
||||||
|
url = "github:alsaiduq-lab/nvim-dotfiles";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
hyprland-dots = {
|
||||||
|
url = "git+ssh://git@github.com/alsaiduq-lab/hyprland-dots";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
|
||||||
hu-tao-cursor = {
|
hu-tao-cursor = {
|
||||||
url = "git+ssh://git@github.com/alsaiduq-lab/Hu-Tao-Animated-Cursor";
|
url = "git+ssh://git@github.com/alsaiduq-lab/Hu-Tao-Animated-Cursor";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
ghostty = {
|
||||||
|
url = "github:ghostty-org/ghostty";
|
||||||
|
};
|
||||||
|
|
||||||
# TODO: sops-nix = {
|
# TODO: sops-nix = {
|
||||||
# url = "github:Mic92/sops-nix";
|
# url = "github:Mic92/sops-nix";
|
||||||
# inputs.nixpkgs.follows = "nixpkgs";
|
# inputs.nixpkgs.follows = "nixpkgs";
|
||||||
# };
|
# };
|
||||||
|
|
||||||
|
# Hyprspace = {
|
||||||
|
# url = "github:rich/Hyprspace";
|
||||||
|
# };
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = {
|
outputs = {
|
||||||
|
|
@ -65,7 +83,7 @@
|
||||||
inherit system;
|
inherit system;
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit inputs;
|
inherit inputs;
|
||||||
i3dotfiles = inputs.i3-dotfiles;
|
hyprlanddots = inputs.hyprland-dots;
|
||||||
};
|
};
|
||||||
|
|
||||||
modules = [
|
modules = [
|
||||||
|
|
@ -77,8 +95,11 @@
|
||||||
};
|
};
|
||||||
hostPlatform = system;
|
hostPlatform = system;
|
||||||
overlays = [
|
overlays = [
|
||||||
(final: prev: {ollama = unstablePkgs.ollama;})
|
(final: prev: {
|
||||||
(final: prev: {rpcs3 = unstablePkgs.rpcs3;})
|
ollama = unstablePkgs.ollama;
|
||||||
|
rpcs3 = unstablePkgs.rpcs3;
|
||||||
|
quickshell = unstable.legacyPackages.${system}.quickshell;
|
||||||
|
})
|
||||||
(final: prev: {
|
(final: prev: {
|
||||||
inherit
|
inherit
|
||||||
(customPkgs)
|
(customPkgs)
|
||||||
|
|
@ -94,9 +115,7 @@
|
||||||
binary-font = prev.binary-font.binary-clock-font;
|
binary-font = prev.binary-font.binary-clock-font;
|
||||||
})
|
})
|
||||||
(final: prev: {ghostty = inputs.ghostty.packages.${system}.default;})
|
(final: prev: {ghostty = inputs.ghostty.packages.${system}.default;})
|
||||||
(final: prev: {
|
(final: prev: {hu-tao-animated-cursor = inputs.hu-tao-cursor.packages.${system}.default;})
|
||||||
hu-tao-animated-cursor = inputs.hu-tao-cursor.packages.${system}.default;
|
|
||||||
})
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -107,8 +126,9 @@
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
extraSpecialArgs = {
|
extraSpecialArgs = {
|
||||||
inherit inputs unstable;
|
inherit inputs;
|
||||||
i3dotfiles = inputs.i3-dotfiles;
|
hyprlanddots = inputs.hyprland-dots;
|
||||||
|
nvimDotfiles = inputs.nvim-dots;
|
||||||
};
|
};
|
||||||
users.cobray = import ./home-manager/cobray.nix;
|
users.cobray = import ./home-manager/cobray.nix;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,17 @@
|
||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
inputs,
|
config,
|
||||||
|
lib,
|
||||||
|
hyprlanddots,
|
||||||
|
nvimDotfiles,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
./modules/dunst.nix
|
./init.nix
|
||||||
./modules/fish.nix
|
./modules/fish.nix
|
||||||
./modules/ghostty.nix
|
./modules/ghostty.nix
|
||||||
./modules/lazygit.nix
|
./modules/lazygit.nix
|
||||||
./modules/nvim.nix
|
./modules/nvim.nix
|
||||||
./modules/picom.nix
|
|
||||||
./modules/polybar.nix
|
|
||||||
./modules/rofi.nix
|
./modules/rofi.nix
|
||||||
./modules/starship.nix
|
./modules/starship.nix
|
||||||
./modules/zellij.nix
|
./modules/zellij.nix
|
||||||
|
|
@ -20,11 +21,15 @@
|
||||||
./modules/thorium.nix
|
./modules/thorium.nix
|
||||||
./modules/spotify.nix
|
./modules/spotify.nix
|
||||||
./modules/obs.nix
|
./modules/obs.nix
|
||||||
./modules/udiskie.nix
|
|
||||||
./modules/mpv.nix
|
./modules/mpv.nix
|
||||||
|
./modules/waybar.nix
|
||||||
./modules/ani-cli.nix
|
./modules/ani-cli.nix
|
||||||
# temp removed, currently broken on nixpkgs? lmao
|
./modules/quickshell.nix
|
||||||
# ./modules/bambustudio.nix
|
# currently broken
|
||||||
|
# ./modules/hyprspace.nix
|
||||||
|
./modules/cava.nix
|
||||||
|
./modules/matugen.nix
|
||||||
|
./modules/rgb.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
home.username = "cobray";
|
home.username = "cobray";
|
||||||
|
|
@ -35,13 +40,8 @@
|
||||||
xdg.mime.enable = false;
|
xdg.mime.enable = false;
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
coreutils
|
|
||||||
gnused
|
|
||||||
findutils
|
|
||||||
yazi
|
|
||||||
htop
|
|
||||||
btop
|
btop
|
||||||
nvtopPackages.full
|
nvtopPackages.full
|
||||||
arandr
|
kdePackages.dolphin
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
41
home-manager/init.nix
Normal file
41
home-manager/init.nix
Normal file
|
|
@ -0,0 +1,41 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
hyprlanddots,
|
||||||
|
nvimDotfiles,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
home.activation.HyprlandDots = lib.hm.dag.entryAfter ["linkGeneration"] ''
|
||||||
|
set -euo pipefail
|
||||||
|
umask 022
|
||||||
|
repo=${lib.escapeShellArg hyprlanddots}
|
||||||
|
nvimrepo=${lib.escapeShellArg nvimDotfiles}
|
||||||
|
mkdir -p "${config.xdg.configHome}"
|
||||||
|
copy_dir() {
|
||||||
|
src="$1"; dest="$2"
|
||||||
|
[ -d "$src" ] || return 0
|
||||||
|
[ -e "$dest" ] && return 0
|
||||||
|
mkdir -p "$dest"
|
||||||
|
if [ -x ${pkgs.rsync}/bin/rsync ]; then
|
||||||
|
${pkgs.rsync}/bin/rsync -rlD \
|
||||||
|
--chmod=Du=rwx,Dgo=rx,Fu=rw,Fgo=r \
|
||||||
|
-- "$src"/ "$dest"/
|
||||||
|
else
|
||||||
|
cp -R -P --no-preserve=mode,ownership,timestamps -- "$src"/. "$dest"/
|
||||||
|
fi
|
||||||
|
chmod -R u+rwX "$dest"
|
||||||
|
}
|
||||||
|
|
||||||
|
copy_dir "$repo/fish" "${config.xdg.configHome}/fish"
|
||||||
|
copy_dir "$repo/hypr" "${config.xdg.configHome}/hypr"
|
||||||
|
copy_dir "$repo/quickshell" "${config.xdg.configHome}/quickshell"
|
||||||
|
copy_dir "$repo/waybar" "${config.xdg.configHome}/waybar"
|
||||||
|
copy_dir "$repo/cava" "${config.xdg.configHome}/cava"
|
||||||
|
copy_dir "$nvimrepo" "${config.xdg.configHome}/nvim"
|
||||||
|
|
||||||
|
if [ -f "$repo/starship.toml" ] && [ ! -e "${config.xdg.configHome}/starship.toml" ]; then
|
||||||
|
install -Dm0644 "$repo/starship.toml" "${config.xdg.configHome}/starship.toml"
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
}
|
||||||
5
home-manager/modules/cava.nix
Normal file
5
home-manager/modules/cava.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [ cava ];
|
||||||
|
}
|
||||||
|
|
@ -1,146 +0,0 @@
|
||||||
{pkgs, ...}: let
|
|
||||||
urgencyLowBackground = "#1a1b26";
|
|
||||||
urgencyLowForeground = "#c0caf5";
|
|
||||||
urgencyLowFrameColor = "#7aa2f7";
|
|
||||||
urgencyNormalBackground = "#24283b";
|
|
||||||
urgencyNormalForeground = "#c0caf5";
|
|
||||||
urgencyNormalFrameColor = "#7aa2f7";
|
|
||||||
urgencyCriticalBackground = "#f7768e";
|
|
||||||
urgencyCriticalForeground = "#1a1b26";
|
|
||||||
urgencyCriticalFrameColor = "#ff757f";
|
|
||||||
|
|
||||||
volumeHighlight = "#f5c2e7";
|
|
||||||
volumeFrameColor = "#eba0ac";
|
|
||||||
volumeBackground = "#45475a";
|
|
||||||
volumeForeground = "#f5e0dc";
|
|
||||||
|
|
||||||
brightnessHighlight = "#94e2d5";
|
|
||||||
brightnessFrameColor = "#74c7ec";
|
|
||||||
brightnessBackground = "#313244";
|
|
||||||
brightnessForeground = "#a6e3a1";
|
|
||||||
|
|
||||||
networkHighlight = "#f9e2af";
|
|
||||||
networkFrameColor = "#f38ba8";
|
|
||||||
networkBackground = "#1e1e2e";
|
|
||||||
networkForeground = "#fab387";
|
|
||||||
|
|
||||||
globalFrameColor = "#7aa2f7";
|
|
||||||
globalCornerRadius = 10;
|
|
||||||
globalMargin = 8;
|
|
||||||
globalPadding = 12;
|
|
||||||
globalBorderWidth = 2;
|
|
||||||
globalFont = "0xProto Nerd Font Bold 10";
|
|
||||||
globalIconPath = "/usr/share/icons/Candy/16x16/status/:/usr/share/icons/Candy/16x16/devices/:/usr/share/icons/Candy/16x16/apps/";
|
|
||||||
in {
|
|
||||||
services.dunst = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
global = {
|
|
||||||
monitor = 0;
|
|
||||||
follow = "mouse";
|
|
||||||
width = "(300, 400)";
|
|
||||||
height = 300;
|
|
||||||
origin = "top-right";
|
|
||||||
offset = "15x50";
|
|
||||||
scale = 0;
|
|
||||||
notification_limit = 0;
|
|
||||||
|
|
||||||
progress_bar = true;
|
|
||||||
progress_bar_height = 10;
|
|
||||||
progress_bar_frame_width = 1;
|
|
||||||
progress_bar_min_width = 150;
|
|
||||||
progress_bar_max_width = 300;
|
|
||||||
|
|
||||||
transparency = 5;
|
|
||||||
padding = globalPadding;
|
|
||||||
horizontal_padding = globalPadding;
|
|
||||||
text_icon_padding = 12;
|
|
||||||
frame_width = globalBorderWidth;
|
|
||||||
frame_color = globalFrameColor;
|
|
||||||
separator_color = "frame";
|
|
||||||
separator_height = 2;
|
|
||||||
corner_radius = globalCornerRadius;
|
|
||||||
gap_size = globalMargin;
|
|
||||||
line_height = 0;
|
|
||||||
|
|
||||||
font = globalFont;
|
|
||||||
markup = "full";
|
|
||||||
format = "<b>%s</b>\n%b";
|
|
||||||
alignment = "left";
|
|
||||||
vertical_alignment = "center";
|
|
||||||
show_age_threshold = 60;
|
|
||||||
ellipsize = "middle";
|
|
||||||
ignore_newline = "no";
|
|
||||||
stack_duplicates = true;
|
|
||||||
hide_duplicate_count = false;
|
|
||||||
show_indicators = true;
|
|
||||||
|
|
||||||
enable_recursive_icon_lookup = true;
|
|
||||||
icon_position = "left";
|
|
||||||
min_icon_size = 32;
|
|
||||||
max_icon_size = 128;
|
|
||||||
icon_path = globalIconPath;
|
|
||||||
|
|
||||||
sticky_history = "yes";
|
|
||||||
history_length = 20;
|
|
||||||
|
|
||||||
mouse_left_click = "do_action, close_current";
|
|
||||||
mouse_middle_click = "close_all";
|
|
||||||
mouse_right_click = "close_current";
|
|
||||||
};
|
|
||||||
|
|
||||||
urgency_low = {
|
|
||||||
background = urgencyLowBackground;
|
|
||||||
foreground = urgencyLowForeground;
|
|
||||||
frame_color = urgencyLowFrameColor;
|
|
||||||
timeout = 5;
|
|
||||||
};
|
|
||||||
|
|
||||||
urgency_normal = {
|
|
||||||
background = urgencyNormalBackground;
|
|
||||||
foreground = urgencyNormalForeground;
|
|
||||||
frame_color = urgencyNormalFrameColor;
|
|
||||||
timeout = 5;
|
|
||||||
};
|
|
||||||
|
|
||||||
urgency_critical = {
|
|
||||||
background = urgencyCriticalBackground;
|
|
||||||
foreground = urgencyCriticalForeground;
|
|
||||||
frame_color = urgencyCriticalFrameColor;
|
|
||||||
timeout = 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
volume = {
|
|
||||||
appname = "Volume";
|
|
||||||
summary = "*";
|
|
||||||
format = "<b>%s</b>\n%b";
|
|
||||||
highlight = volumeHighlight;
|
|
||||||
frame_color = volumeFrameColor;
|
|
||||||
background = volumeBackground;
|
|
||||||
foreground = volumeForeground;
|
|
||||||
};
|
|
||||||
brightness = {
|
|
||||||
appname = "Brightness";
|
|
||||||
summary = "*";
|
|
||||||
format = "<b>%s</b>\n%b";
|
|
||||||
highlight = brightnessHighlight;
|
|
||||||
frame_color = brightnessFrameColor;
|
|
||||||
background = brightnessBackground;
|
|
||||||
foreground = brightnessForeground;
|
|
||||||
};
|
|
||||||
network = {
|
|
||||||
appname = "Network";
|
|
||||||
summary = "*";
|
|
||||||
format = "<b>%s</b>\n%b";
|
|
||||||
highlight = networkHighlight;
|
|
||||||
frame_color = networkFrameColor;
|
|
||||||
background = networkBackground;
|
|
||||||
foreground = networkForeground;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
dunst
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
home.packages = [
|
home.packages = [
|
||||||
(pkgs.ffmpeg-full.override {withXcb = true;})
|
pkgs.ffmpeg
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,5 +6,6 @@
|
||||||
eza
|
eza
|
||||||
fd
|
fd
|
||||||
ugrep
|
ugrep
|
||||||
|
yazi
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,38 @@
|
||||||
{pkgs, ...}: {
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
ghostty
|
||||||
fastfetch
|
fastfetch
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.ghostty = {
|
programs.ghostty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableFishIntegration = true;
|
enableFishIntegration = true;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
command = "${pkgs.fish}/bin/fish --login --interactive";
|
||||||
|
font-family = "0xProto Nerd Font";
|
||||||
|
font-size = 12;
|
||||||
|
theme = "TokyoNight Storm";
|
||||||
|
window-padding-x = 10;
|
||||||
|
window-padding-y = 10;
|
||||||
|
cursor-color = "#7AA2F7";
|
||||||
|
cursor-style = "block";
|
||||||
|
cursor-style-blink = true;
|
||||||
|
window-decoration = "none";
|
||||||
|
window-theme = "dark";
|
||||||
|
selection-background = "#364A82";
|
||||||
|
selection-foreground = "#C0CAF5";
|
||||||
|
|
||||||
|
keybind = [
|
||||||
|
"super+t=new_tab"
|
||||||
|
"super+w=close_surface"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
home.file."${config.xdg.configHome}/ghostty/config".force = lib.mkForce true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
3
home-manager/modules/hyprspace.nix
Normal file
3
home-manager/modules/hyprspace.nix
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
home.packages = [pkgs.hyprspace];
|
||||||
|
}
|
||||||
3
home-manager/modules/matugen.nix
Normal file
3
home-manager/modules/matugen.nix
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
home.packages = [pkgs.matugen];
|
||||||
|
}
|
||||||
|
|
@ -3,35 +3,12 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}: let
|
}: {
|
||||||
gitDir = "${pkgs.git}/bin/git";
|
programs.neovim.enable = true;
|
||||||
nvim = "${config.home.homeDirectory}/.config/nvim";
|
|
||||||
in {
|
|
||||||
programs.neovim = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
git
|
git
|
||||||
luajit
|
luajit
|
||||||
luaPackages.luarocks
|
luaPackages.luarocks
|
||||||
tree-sitter
|
tree-sitter
|
||||||
];
|
];
|
||||||
|
|
||||||
home.sessionPath = ["$HOME/.local/share/nvim/mason/bin"];
|
|
||||||
|
|
||||||
home.activation.nvimConfig = lib.hm.dag.entryAfter ["writeBoundary"] ''
|
|
||||||
if [ ! -d "${nvim}/.git" ]; then
|
|
||||||
${gitDir} clone --depth 1 \
|
|
||||||
https://github.com/alsaiduq-lab/nvim-dotfiles.git "${nvim}"
|
|
||||||
echo "Neovim config at ${nvim} was installed"
|
|
||||||
else
|
|
||||||
if ${gitDir} -C "${nvim}" pull --ff-only origin master \
|
|
||||||
| grep -q 'Already up to date.'; then
|
|
||||||
echo "Neovim config at ${nvim} is unchanged"
|
|
||||||
else
|
|
||||||
echo "Neovim config at ${nvim} was updated"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
{
|
|
||||||
i3dotfiles,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
picom
|
|
||||||
];
|
|
||||||
|
|
||||||
xdg.configFile."picom" = {
|
|
||||||
source = "${i3dotfiles}/picom";
|
|
||||||
recursive = true;
|
|
||||||
force = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
{
|
|
||||||
i3dotfiles,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
home.packages = pkgs.polybar.all;
|
|
||||||
|
|
||||||
xdg.configFile."polybar" = {
|
|
||||||
source = "${i3dotfiles}/polybar";
|
|
||||||
recursive = true;
|
|
||||||
force = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
6
home-manager/modules/quickshell.nix
Normal file
6
home-manager/modules/quickshell.nix
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
quickshell
|
||||||
|
];
|
||||||
|
home.sessionPath = ["${pkgs.quickshell}/bin"];
|
||||||
|
}
|
||||||
17
home-manager/modules/rgb.nix
Normal file
17
home-manager/modules/rgb.nix
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
home.packages = [pkgs.openrgb-with-all-plugins];
|
||||||
|
|
||||||
|
systemd.user.services.openrgb-gui = {
|
||||||
|
Unit = {
|
||||||
|
Description = "OpenRGB GUI (daemon)";
|
||||||
|
After = ["graphical-session.target"];
|
||||||
|
PartOf = ["graphical-session.target"];
|
||||||
|
};
|
||||||
|
Service = {
|
||||||
|
ExecStart = "${pkgs.openrgb-with-all-plugins}/bin/openrgb --gui --startminimized --server 127.0.0.1:6742 --profile default";
|
||||||
|
Restart = "on-failure";
|
||||||
|
Environment = "QT_QPA_PLATFORM=wayland;xcb";
|
||||||
|
};
|
||||||
|
Install.WantedBy = ["graphical-session.target"];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,7 +1,4 @@
|
||||||
{
|
{pkgs, ...}: {
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
rofi
|
rofi
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,6 @@
|
||||||
{i3dotfiles, ...}: {
|
{...}: {
|
||||||
programs.starship = {
|
programs.starship = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableFishIntegration = true;
|
enableFishIntegration = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg.configFile."starship.toml" = {
|
|
||||||
source = "${i3dotfiles}/starship.toml";
|
|
||||||
force = true;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
home.packages = [pkgs.thorium];
|
||||||
home.packages = [ pkgs.thorium ];
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
{...}: {
|
|
||||||
services.udiskie = {
|
|
||||||
enable = true;
|
|
||||||
tray = "always";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
5
home-manager/modules/waybar.nix
Normal file
5
home-manager/modules/waybar.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
waybar
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
@ -10,12 +10,10 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
cava
|
|
||||||
pulseaudio
|
pulseaudio
|
||||||
alsa-utils
|
alsa-utils
|
||||||
portaudio
|
portaudio
|
||||||
alsa-lib
|
alsa-lib
|
||||||
pavucontrol
|
pavucontrol
|
||||||
clang
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,13 +6,11 @@
|
||||||
gawk
|
gawk
|
||||||
psmisc
|
psmisc
|
||||||
unzip
|
unzip
|
||||||
bash
|
|
||||||
maim
|
|
||||||
wrk
|
wrk
|
||||||
bitwarden
|
bitwarden
|
||||||
hashcat
|
hashcat
|
||||||
cachix
|
cachix
|
||||||
gcc
|
gcc14
|
||||||
gnumake
|
gnumake
|
||||||
cmake
|
cmake
|
||||||
ninja
|
ninja
|
||||||
|
|
@ -28,5 +26,8 @@
|
||||||
libclang
|
libclang
|
||||||
argc
|
argc
|
||||||
appimage-run
|
appimage-run
|
||||||
|
clang
|
||||||
|
rsync
|
||||||
|
openssl
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,62 +3,62 @@
|
||||||
lib,
|
lib,
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}: let
|
}: {
|
||||||
t = config.theme;
|
|
||||||
in {
|
|
||||||
environment.shellInit = ''
|
|
||||||
if [ -d "$HOME/.cargo/bin" ]; then
|
|
||||||
export PATH="$PATH:$HOME/.cargo/bin"
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
|
|
||||||
environment.variables = {
|
environment.variables = {
|
||||||
EDITOR = "nvim";
|
EDITOR = config.theme.Editor;
|
||||||
VISUAL = "nvim";
|
TERM = config.theme.Terminal;
|
||||||
TERM = "ghostty";
|
BROWSER = config.theme.Browser;
|
||||||
BROWSER = "thorium";
|
XCURSOR_THEME = config.theme.cursorName;
|
||||||
XCURSOR_THEME = t.cursorName;
|
XCURSOR_SIZE = toString config.theme.cursorSize;
|
||||||
XCURSOR_SIZE = toString t.cursorSize;
|
GTK_THEME = "${config.theme.gtkTheme}:${config.theme.gtkThemeMode}";
|
||||||
|
QT_QPA_PLATFORMTHEME = config.theme.qtTheme;
|
||||||
|
QT_STYLE_OVERRIDE = config.theme.qtOverride;
|
||||||
|
|
||||||
|
XDG_SESSION_TYPE = "wayland";
|
||||||
|
XDG_CURRENT_DESKTOP = "Hyprland";
|
||||||
|
XDG_SESSION_DESKTOP = "Hyprland";
|
||||||
|
GDK_BACKEND = "wayland,x11";
|
||||||
|
QT_QPA_PLATFORM = "wayland;xcb";
|
||||||
|
SDL_VIDEODRIVER = "wayland";
|
||||||
|
MOZ_ENABLE_WAYLAND = "1";
|
||||||
|
NIXOS_OZONE_WL = "1";
|
||||||
|
|
||||||
|
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
|
||||||
|
GBM_BACKEND = "nvidia-drm";
|
||||||
|
LIBVA_DRIVER_NAME = "nvidia";
|
||||||
|
|
||||||
CC = "${pkgs.gcc}/bin/gcc";
|
CC = "${pkgs.gcc}/bin/gcc";
|
||||||
|
LIBCLANG_PATH = "${pkgs.llvmPackages.libclang.lib}/lib";
|
||||||
|
|
||||||
LUA_PATH = "${pkgs.luajit}/share/lua/5.1/?.lua;${pkgs.luajit}/share/lua/5.1/?/init.lua;;";
|
LUA_PATH = "${pkgs.luajit}/share/lua/5.1/?.lua;${pkgs.luajit}/share/lua/5.1/?/init.lua;;";
|
||||||
LUA_CPATH = "${pkgs.luajit}/lib/lua/5.1/?.so;;";
|
LUA_CPATH = "${pkgs.luajit}/lib/lua/5.1/?.so;;";
|
||||||
|
|
||||||
PKG_CONFIG_PATH = lib.makeSearchPath "lib/pkgconfig" [
|
PKG_CONFIG_PATH = lib.makeSearchPath "lib/pkgconfig" [
|
||||||
pkgs.mesa
|
|
||||||
pkgs.openssl.dev
|
|
||||||
pkgs.libxml2.dev
|
|
||||||
pkgs.zlib.dev
|
|
||||||
pkgs.portaudio
|
pkgs.portaudio
|
||||||
pkgs.alsa-lib
|
pkgs.alsa-lib
|
||||||
pkgs.stdenv.cc.cc
|
pkgs.stdenv.cc.cc
|
||||||
pkgs.xorg.libX11.dev
|
|
||||||
pkgs.xorg.libXtst
|
|
||||||
pkgs.xorg.libXi.dev
|
|
||||||
];
|
];
|
||||||
|
|
||||||
LD_LIBRARY_PATH = lib.makeLibraryPath [
|
LD_LIBRARY_PATH = lib.makeLibraryPath [
|
||||||
pkgs.libglvnd
|
pkgs.libglvnd
|
||||||
pkgs.mesa
|
pkgs.mesa
|
||||||
pkgs.gcc-unwrapped.lib
|
pkgs.gcc-unwrapped.lib
|
||||||
pkgs.linuxPackages.nvidia_x11
|
|
||||||
pkgs.cudatoolkit
|
pkgs.cudatoolkit
|
||||||
pkgs.mangohud
|
pkgs.mangohud
|
||||||
pkgs.portaudio
|
pkgs.portaudio
|
||||||
pkgs.alsa-lib
|
pkgs.alsa-lib
|
||||||
pkgs.stdenv.cc.cc.lib
|
pkgs.stdenv.cc.cc.lib
|
||||||
pkgs.xorg.libX11
|
pkgs.wayland
|
||||||
pkgs.xorg.libXtst
|
pkgs.libxkbcommon
|
||||||
pkgs.xorg.libXi
|
|
||||||
pkgs.glib
|
pkgs.glib
|
||||||
];
|
];
|
||||||
|
|
||||||
CUDA_HOME = "${pkgs.cudatoolkit}";
|
CUDA_HOME = pkgs.cudatoolkit;
|
||||||
CPATH = "${pkgs.cudatoolkit}/include";
|
CPATH = "${pkgs.cudatoolkit}/include";
|
||||||
LIBCLANG_PATH = "${pkgs.llvmPackages.libclang}/lib";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.pathsToLink = [
|
environment.pathsToLink = [
|
||||||
"/share/fish"
|
"/share/${config.theme.Shell}"
|
||||||
"/bin"
|
"/bin"
|
||||||
"/share/icons"
|
"/share/icons"
|
||||||
"/share/pixmaps"
|
"/share/pixmaps"
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@
|
||||||
kochi-substitute
|
kochi-substitute
|
||||||
clear-sans
|
clear-sans
|
||||||
binary-font
|
binary-font
|
||||||
|
fontconfig
|
||||||
];
|
];
|
||||||
fontconfig = {
|
fontconfig = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
||||||
|
|
@ -2,39 +2,32 @@
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: let
|
}: {
|
||||||
t = config.theme;
|
|
||||||
cursorName = t.cursorName;
|
|
||||||
cursorSize = toString t.cursorSize;
|
|
||||||
gtkTheme = t.gtkTheme;
|
|
||||||
iconTheme = t.iconTheme;
|
|
||||||
fontName = t.fontName;
|
|
||||||
in {
|
|
||||||
environment.etc = {
|
environment.etc = {
|
||||||
"gtk-2.0/gtkrc".text = ''
|
"gtk-2.0/gtkrc".text = ''
|
||||||
gtk-theme-name=${gtkTheme}
|
gtk-theme-name=${config.theme.gtkTheme}
|
||||||
gtk-icon-theme-name=${iconTheme}
|
gtk-icon-theme-name=${config.theme.iconTheme}
|
||||||
gtk-font-name=${fontName}
|
gtk-font-name=${config.theme.font}
|
||||||
gtk-cursor-theme-name=${cursorName}
|
gtk-cursor-theme-name=${config.theme.cursorName}
|
||||||
gtk-cursor-theme-size=${cursorSize}
|
gtk-cursor-theme-size="${builtins.toString config.theme.cursorSize}"
|
||||||
'';
|
'';
|
||||||
"gtk-3.0/settings.ini".text = ''
|
"gtk-3.0/settings.ini".text = ''
|
||||||
[Settings]
|
[Settings]
|
||||||
gtk-application-prefer-dark-theme=1
|
gtk-application-prefer-${config.theme.gtkThemeMode}-theme=1
|
||||||
gtk-theme-name=${gtkTheme}
|
gtk-theme-name=${config.theme.gtkTheme}
|
||||||
gtk-icon-theme-name=${iconTheme}
|
gtk-icon-theme-name=${config.theme.iconTheme}
|
||||||
gtk-font-name=${fontName}
|
gtk-font-name=${config.theme.font}
|
||||||
gtk-cursor-theme-name=${cursorName}
|
gtk-cursor-theme-name=${config.theme.cursorName}
|
||||||
gtk-cursor-theme-size=${cursorSize}
|
gtk-cursor-theme-size="${builtins.toString config.theme.cursorSize}"
|
||||||
'';
|
'';
|
||||||
"gtk-4.0/settings.ini".text = ''
|
"gtk-4.0/settings.ini".text = ''
|
||||||
[Settings]
|
[Settings]
|
||||||
gtk-application-prefer-dark-theme=1
|
gtk-application-prefer-${config.theme.gtkThemeMode}-theme=1
|
||||||
gtk-theme-name=${gtkTheme}
|
gtk-theme-name=${config.theme.gtkTheme}
|
||||||
gtk-icon-theme-name=${iconTheme}
|
gtk-icon-theme-name=${config.theme.iconTheme}
|
||||||
gtk-font-name=${fontName}
|
gtk-font-name=${config.theme.font}
|
||||||
gtk-cursor-theme-name=${cursorName}
|
gtk-cursor-theme-name=${config.theme.cursorName}
|
||||||
gtk-cursor-theme-size=${cursorSize}
|
gtk-cursor-theme-size="${builtins.toString config.theme.cursorSize}"
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -42,11 +35,16 @@ in {
|
||||||
programs.dconf.profiles.user.databases = [
|
programs.dconf.profiles.user.databases = [
|
||||||
{
|
{
|
||||||
settings."org/gnome/desktop/interface" = {
|
settings."org/gnome/desktop/interface" = {
|
||||||
gtk-theme = gtkTheme;
|
gtk-theme = config.theme.gtkTheme;
|
||||||
icon-theme = iconTheme;
|
icon-theme = config.theme.iconTheme;
|
||||||
cursor-theme = cursorName;
|
cursor-theme = config.theme.cursorName;
|
||||||
font-name = fontName;
|
font-name = config.theme.font;
|
||||||
|
color-scheme = "prefer-${config.theme.gtkThemeMode}";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
environment.sessionVariables = {
|
||||||
|
GTK_THEME = "${config.theme.gtkTheme}:${config.theme.gtkThemeMode}";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
57
hosts/modules/hyprland.nix
Normal file
57
hosts/modules/hyprland.nix
Normal file
|
|
@ -0,0 +1,57 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
services.xserver.enable = false;
|
||||||
|
|
||||||
|
programs.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
xwayland.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.greetd = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.greetd.tuigreet;
|
||||||
|
settings.default_session = {
|
||||||
|
user = "greeter";
|
||||||
|
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --remember --cmd ${pkgs.hyprland}/bin/Hyprland";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.portal = {
|
||||||
|
enable = true;
|
||||||
|
extraPortals = with pkgs; [xdg-desktop-portal-hyprland xdg-desktop-portal-gtk];
|
||||||
|
config = {
|
||||||
|
common.default = ["gtk"];
|
||||||
|
hyprland.default = ["hyprland" "gtk"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
systemd.user.services.xdg-desktop-portal-hyprland.unitConfig.ConditionPathExists = "%t/wayland-0";
|
||||||
|
|
||||||
|
security.polkit.enable = true;
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
qt5.qtwayland
|
||||||
|
qt6.qtwayland
|
||||||
|
polkit_gnome
|
||||||
|
candy-icons
|
||||||
|
hu-tao-animated-cursor
|
||||||
|
tokyonight-gtk-theme
|
||||||
|
hyprlock
|
||||||
|
wlogout
|
||||||
|
wl-clipboard
|
||||||
|
xclip
|
||||||
|
wofi
|
||||||
|
hyprshot
|
||||||
|
hypridle
|
||||||
|
polkit_gnome
|
||||||
|
grim
|
||||||
|
slurp
|
||||||
|
swappy
|
||||||
|
imv
|
||||||
|
syshud
|
||||||
|
hyprpaper
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
@ -1,69 +0,0 @@
|
||||||
{pkgs, ...}: {
|
|
||||||
services.xserver = {
|
|
||||||
enable = true;
|
|
||||||
xkb = {
|
|
||||||
layout = "us";
|
|
||||||
variant = "";
|
|
||||||
};
|
|
||||||
|
|
||||||
windowManager.i3 = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.i3-gaps;
|
|
||||||
extraSessionCommands = ''
|
|
||||||
if [ -f /var/lib/lightdm-background/.last-wallpaper ]; then
|
|
||||||
${pkgs.feh}/bin/feh --bg-fill "$(cat /var/lib/lightdm-background/.last-wallpaper)"
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
# this is actually here because i get peeved personally when I see a none in "none+i3"
|
|
||||||
desktopManager.xfce = {
|
|
||||||
enable = true;
|
|
||||||
noDesktop = true;
|
|
||||||
enableXfwm = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
desktopManager.session = [
|
|
||||||
{
|
|
||||||
name = "xfce+i3";
|
|
||||||
start = ''
|
|
||||||
if [ -f /var/lib/lightdm-background/.last-wallpaper ]; then
|
|
||||||
${pkgs.feh}/bin/feh --bg-fill "$(cat /var/lib/lightdm-background/.last-wallpaper)"
|
|
||||||
fi
|
|
||||||
export XDG_DATA_DIRS="${pkgs.tokyonight-gtk-theme}/share:${pkgs.candy-icons}/share:${pkgs.hicolor-icon-theme}/share:${pkgs.adwaita-icon-theme}/share:$XDG_DATA_DIRS"
|
|
||||||
${pkgs.xfce.xfce4-session}/bin/xfce4-session --with-ck-launch &
|
|
||||||
${pkgs.i3-gaps}/bin/i3
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
dmenu
|
|
||||||
i3status
|
|
||||||
i3lock-color
|
|
||||||
i3blocks
|
|
||||||
picom
|
|
||||||
feh
|
|
||||||
i3-auto-layout
|
|
||||||
yt-dlp
|
|
||||||
flameshot
|
|
||||||
imagemagick
|
|
||||||
slop
|
|
||||||
ghostscript
|
|
||||||
via
|
|
||||||
arandr
|
|
||||||
xsettingsd
|
|
||||||
lxappearance
|
|
||||||
gsettings-desktop-schemas
|
|
||||||
adwaita-qt
|
|
||||||
candy-icons
|
|
||||||
tokyonight-gtk-theme
|
|
||||||
hicolor-icon-theme
|
|
||||||
adwaita-icon-theme
|
|
||||||
gnome-themes-extra
|
|
||||||
findutils
|
|
||||||
coreutils
|
|
||||||
hu-tao-animated-cursor
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
@ -1,17 +1,11 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
linuxHeaders
|
|
||||||
freetype.dev
|
|
||||||
pixman
|
|
||||||
mesa
|
|
||||||
libglvnd
|
|
||||||
dbus.dev
|
|
||||||
openssl
|
|
||||||
openssl.dev
|
|
||||||
libxml2
|
|
||||||
zlib
|
|
||||||
zlib.dev
|
|
||||||
texlive.combined.scheme-full
|
texlive.combined.scheme-full
|
||||||
poppler_utils
|
poppler_utils
|
||||||
|
libnotify
|
||||||
|
egl-wayland
|
||||||
|
vulkan-tools
|
||||||
|
libva-utils
|
||||||
|
vdpauinfo
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
networkmanagerapplet
|
networkmanagerapplet
|
||||||
wget
|
wget
|
||||||
curl
|
curl
|
||||||
|
aria2
|
||||||
cloudflared
|
cloudflared
|
||||||
nmap
|
nmap
|
||||||
httpie
|
httpie
|
||||||
|
|
|
||||||
|
|
@ -9,27 +9,35 @@
|
||||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||||
open = true;
|
open = true;
|
||||||
modesetting.enable = true; # must be true for Wayland
|
modesetting.enable = true; # must be true for Wayland
|
||||||
powerManagement.enable = false;
|
powerManagement.enable = false; # laptops need this
|
||||||
nvidiaSettings = true;
|
nvidiaSettings = true;
|
||||||
|
nvidiaPersistenced = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware.graphics = {
|
hardware.graphics = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enable32Bit = true;
|
enable32Bit = true;
|
||||||
|
extraPackages = with pkgs; [nvidia-vaapi-driver];
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.nix-ld = {
|
programs.nix-ld = {
|
||||||
enable = true;
|
enable = true;
|
||||||
libraries = with pkgs; [
|
libraries = with pkgs; [
|
||||||
stdenv.cc.cc.lib
|
cudaPackages.cudatoolkit
|
||||||
cudaPackages.cudatoolkit.lib
|
|
||||||
cudaPackages.cudnn
|
cudaPackages.cudnn
|
||||||
cudaPackages.nccl
|
cudaPackages.nccl
|
||||||
|
config.hardware.nvidia.package
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
glxinfo
|
mesa-demos
|
||||||
|
vulkan-tools
|
||||||
|
vulkan-headers
|
||||||
|
vulkan-validation-layers
|
||||||
|
libva-utils
|
||||||
|
vdpauinfo
|
||||||
|
egl-wayland
|
||||||
cudaPackages.cudatoolkit
|
cudaPackages.cudatoolkit
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,7 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
(python311.withPackages (ps:
|
(python312.withPackages (ps:
|
||||||
with ps; [
|
with ps; [
|
||||||
i3ipc
|
|
||||||
requests
|
requests
|
||||||
ipython
|
ipython
|
||||||
six
|
six
|
||||||
|
|
@ -19,10 +18,10 @@
|
||||||
datasets
|
datasets
|
||||||
debugpy
|
debugpy
|
||||||
pynvim
|
pynvim
|
||||||
|
pkginfo
|
||||||
]))
|
]))
|
||||||
isort
|
isort
|
||||||
uv
|
uv
|
||||||
python311
|
|
||||||
ruff
|
ruff
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,9 @@
|
||||||
{pkgs, ...}: {
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
services.hardware.openrgb = {
|
services.hardware.openrgb = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.openrgb-with-all-plugins;
|
package = pkgs.openrgb-with-all-plugins;
|
||||||
|
|
@ -6,9 +11,16 @@
|
||||||
server.port = 6742;
|
server.port = 6742;
|
||||||
};
|
};
|
||||||
|
|
||||||
services.udev.packages = [pkgs.openrgb-with-all-plugins];
|
|
||||||
boot.kernelModules = ["i2c-dev" "i2c-piix4"];
|
boot.kernelModules = ["i2c-dev" "i2c-piix4"];
|
||||||
users.groups.i2c.members = ["cobray"];
|
services.udev.packages = [pkgs.openrgb-with-all-plugins];
|
||||||
|
|
||||||
systemd.services.openrgb.serviceConfig.Environment = "QT_QPA_PLATFORM=offscreen";
|
users.groups = {
|
||||||
|
i2c = {};
|
||||||
|
plugdev = {};
|
||||||
|
};
|
||||||
|
|
||||||
|
users.users.${config.theme.user}.extraGroups = ["i2c" "plugdev"];
|
||||||
|
|
||||||
|
systemd.services.openrgb.serviceConfig.Environment = ["QT_QPA_PLATFORM=offscreen"];
|
||||||
|
environment.sessionVariables.QT_QPA_PLATFORM = "wayland;xcb";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ in {
|
||||||
server = {
|
server = {
|
||||||
bind_address = "127.0.0.1";
|
bind_address = "127.0.0.1";
|
||||||
port = 11212;
|
port = 11212;
|
||||||
limiter = true;
|
limiter = false;
|
||||||
image_proxy = true;
|
image_proxy = true;
|
||||||
base_url = lib.mkIf (domain != null) "https://${domain}";
|
base_url = lib.mkIf (domain != null) "https://${domain}";
|
||||||
};
|
};
|
||||||
|
|
@ -27,18 +27,25 @@ in {
|
||||||
};
|
};
|
||||||
search = {
|
search = {
|
||||||
safe_search = 0;
|
safe_search = 0;
|
||||||
autocomplete = "google";
|
autocomplete = "duckduckgo";
|
||||||
default_engine = "google_web";
|
default_engine = "";
|
||||||
default_categories = ["general" "it" "images" "videos" "map"];
|
default_categories = ["general" "it" "images" "videos" "map" "news" "science"];
|
||||||
|
formats = ["html" "json"];
|
||||||
};
|
};
|
||||||
enabled_plugins = ["hash" "self_info" "tracker_url_remover" "hostname_replace"];
|
enabled_plugins = [
|
||||||
|
"hash"
|
||||||
|
"self_info"
|
||||||
|
"tracker_url_remover"
|
||||||
|
"hostname_replace"
|
||||||
|
"open_access_doi_rewrite"
|
||||||
|
];
|
||||||
engines = [
|
engines = [
|
||||||
{
|
{
|
||||||
name = "duckduckgo_web";
|
name = "duckduckgo_web";
|
||||||
engine = "duckduckgo";
|
engine = "duckduckgo";
|
||||||
disabled = false;
|
disabled = false;
|
||||||
categories = ["general"];
|
categories = ["general"];
|
||||||
weight = 0.9;
|
weight = 1.0;
|
||||||
timeout = 3.0;
|
timeout = 3.0;
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
|
@ -46,7 +53,7 @@ in {
|
||||||
engine = "google";
|
engine = "google";
|
||||||
disabled = false;
|
disabled = false;
|
||||||
categories = ["general"];
|
categories = ["general"];
|
||||||
weight = 0.75;
|
weight = 1.0;
|
||||||
timeout = 4.0;
|
timeout = 4.0;
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
|
@ -54,7 +61,39 @@ in {
|
||||||
engine = "bing";
|
engine = "bing";
|
||||||
disabled = false;
|
disabled = false;
|
||||||
categories = ["general"];
|
categories = ["general"];
|
||||||
weight = 0.4;
|
weight = 1.0;
|
||||||
|
timeout = 4.0;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "brave";
|
||||||
|
engine = "brave";
|
||||||
|
disabled = false;
|
||||||
|
categories = ["general"];
|
||||||
|
weight = 1.0;
|
||||||
|
timeout = 3.0;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "mojeek";
|
||||||
|
engine = "mojeek";
|
||||||
|
disabled = false;
|
||||||
|
categories = ["general"];
|
||||||
|
weight = 0.9;
|
||||||
|
timeout = 3.0;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "qwant";
|
||||||
|
engine = "qwant";
|
||||||
|
disabled = false;
|
||||||
|
categories = ["general"];
|
||||||
|
weight = 0.8;
|
||||||
|
timeout = 3.0;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "startpage";
|
||||||
|
engine = "startpage";
|
||||||
|
disabled = false;
|
||||||
|
categories = ["general"];
|
||||||
|
weight = 0.9;
|
||||||
timeout = 4.0;
|
timeout = 4.0;
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
|
@ -64,6 +103,13 @@ in {
|
||||||
categories = ["general"];
|
categories = ["general"];
|
||||||
timeout = 3.0;
|
timeout = 3.0;
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
name = "wikidata";
|
||||||
|
engine = "wikidata";
|
||||||
|
disabled = false;
|
||||||
|
categories = ["general"];
|
||||||
|
timeout = 3.0;
|
||||||
|
}
|
||||||
{
|
{
|
||||||
name = "wikibooks";
|
name = "wikibooks";
|
||||||
engine = "wikibooks";
|
engine = "wikibooks";
|
||||||
|
|
@ -78,6 +124,27 @@ in {
|
||||||
categories = ["general"];
|
categories = ["general"];
|
||||||
timeout = 3.0;
|
timeout = 3.0;
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
name = "arxiv";
|
||||||
|
engine = "arxiv";
|
||||||
|
disabled = false;
|
||||||
|
categories = ["science"];
|
||||||
|
timeout = 4.0;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "crossref";
|
||||||
|
engine = "crossref";
|
||||||
|
disabled = false;
|
||||||
|
categories = ["science"];
|
||||||
|
timeout = 4.0;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "semantic_scholar";
|
||||||
|
engine = "semantic_scholar";
|
||||||
|
disabled = false;
|
||||||
|
categories = ["science"];
|
||||||
|
timeout = 4.0;
|
||||||
|
}
|
||||||
{
|
{
|
||||||
name = "github_code";
|
name = "github_code";
|
||||||
engine = "github";
|
engine = "github";
|
||||||
|
|
@ -85,6 +152,13 @@ in {
|
||||||
categories = ["it"];
|
categories = ["it"];
|
||||||
timeout = 4.0;
|
timeout = 4.0;
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
name = "stackoverflow";
|
||||||
|
engine = "stackoverflow";
|
||||||
|
disabled = false;
|
||||||
|
categories = ["it"];
|
||||||
|
timeout = 4.0;
|
||||||
|
}
|
||||||
{
|
{
|
||||||
name = "wikicommons_img";
|
name = "wikicommons_img";
|
||||||
engine = "wikicommons";
|
engine = "wikicommons";
|
||||||
|
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
{lib, ...}:
|
|
||||||
with lib; {
|
|
||||||
options.theme = {
|
|
||||||
cursorName = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "Hu-Tao-Animated-Cursor";
|
|
||||||
};
|
|
||||||
cursorSize = mkOption {
|
|
||||||
type = types.int;
|
|
||||||
default = 24;
|
|
||||||
};
|
|
||||||
gtkTheme = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "Tokyonight-Dark";
|
|
||||||
};
|
|
||||||
iconTheme = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "candy-icons";
|
|
||||||
};
|
|
||||||
fontName = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "Clear Sans 10";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -18,14 +18,6 @@
|
||||||
protontricks
|
protontricks
|
||||||
gamemode
|
gamemode
|
||||||
mangohud
|
mangohud
|
||||||
vulkan-tools
|
|
||||||
vulkan-loader
|
|
||||||
vulkan-headers
|
|
||||||
vulkan-validation-layers
|
|
||||||
libstrangle
|
libstrangle
|
||||||
piper
|
|
||||||
portaudio
|
|
||||||
alsa-lib
|
|
||||||
libglvnd
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
9
hosts/modules/udiskie.nix
Normal file
9
hosts/modules/udiskie.nix
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
security.polkit.enable = true;
|
||||||
|
services.udisks2.enable = true;
|
||||||
|
services.gvfs.enable = true;
|
||||||
|
}
|
||||||
|
|
@ -1,10 +1,14 @@
|
||||||
{pkgs, ...}: {
|
{
|
||||||
# Define a user account. Don't forget to set a password with 'passwd'.
|
pkgs,
|
||||||
users.users.cobray = {
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
users.users.${config.theme.user} = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "Mon Aie";
|
shell = builtins.getAttr config.theme.Shell pkgs;
|
||||||
extraGroups = ["networkmanager" "wheel" "docker" "video"];
|
extraGroups = ["wheel" "networkmanager" "docker" "video" "render" "input" "audio"];
|
||||||
shell = pkgs.fish;
|
linger = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
security.sudo = {
|
security.sudo = {
|
||||||
|
|
@ -12,7 +16,7 @@
|
||||||
wheelNeedsPassword = true;
|
wheelNeedsPassword = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.fish = {
|
programs."${config.theme.Shell}".enable = true;
|
||||||
enable = true;
|
|
||||||
};
|
nix.settings.trusted-users = ["root" config.theme.user];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
# For xorgsisters only
|
|
||||||
{pkgs, ...}: {
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
xorg.xdpyinfo
|
|
||||||
slop
|
|
||||||
xorg.libX11
|
|
||||||
xorg.libXtst
|
|
||||||
xorg.libXi
|
|
||||||
xorg.xorgproto
|
|
||||||
xclip
|
|
||||||
];
|
|
||||||
}
|
|
||||||
64
hosts/settings.nix
Normal file
64
hosts/settings.nix
Normal file
|
|
@ -0,0 +1,64 @@
|
||||||
|
# used to seed my config
|
||||||
|
{lib, ...}:
|
||||||
|
with lib; {
|
||||||
|
options.theme = {
|
||||||
|
user = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "cobray";
|
||||||
|
};
|
||||||
|
cursorName = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "Hu-Tao-Animated-Cursor";
|
||||||
|
};
|
||||||
|
cursorSize = mkOption {
|
||||||
|
type = types.int;
|
||||||
|
default = 24;
|
||||||
|
};
|
||||||
|
gtkTheme = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "Tokyonight-Dark";
|
||||||
|
};
|
||||||
|
gtkThemeMode = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
# light or dark mode
|
||||||
|
default = "dark";
|
||||||
|
};
|
||||||
|
qtTheme = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
# qt5 or 6 it seems
|
||||||
|
default = "qt6ct";
|
||||||
|
};
|
||||||
|
qtOverride = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "Fusion";
|
||||||
|
};
|
||||||
|
iconTheme = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "candy-icons";
|
||||||
|
};
|
||||||
|
font = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "Clear Sans 10";
|
||||||
|
};
|
||||||
|
Terminal = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "ghostty";
|
||||||
|
};
|
||||||
|
TerminalFont = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "0xProto Nerd Font";
|
||||||
|
};
|
||||||
|
Browser = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "thorium";
|
||||||
|
};
|
||||||
|
Editor = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "nvim";
|
||||||
|
};
|
||||||
|
Shell = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "fish";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,8 +1,7 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
imports = [
|
imports = [
|
||||||
|
./settings.nix
|
||||||
./cachix.nix
|
./cachix.nix
|
||||||
./modules/settings.nix
|
|
||||||
./modules/i3.nix
|
|
||||||
./modules/gtk.nix
|
./modules/gtk.nix
|
||||||
./modules/audio.nix
|
./modules/audio.nix
|
||||||
./modules/bluetooth.nix
|
./modules/bluetooth.nix
|
||||||
|
|
@ -20,7 +19,6 @@
|
||||||
./modules/npm.nix
|
./modules/npm.nix
|
||||||
./modules/tailscale.nix
|
./modules/tailscale.nix
|
||||||
./modules/ld.nix
|
./modules/ld.nix
|
||||||
./modules/x11.nix
|
|
||||||
./modules/ollama.nix
|
./modules/ollama.nix
|
||||||
./modules/cups.nix
|
./modules/cups.nix
|
||||||
./modules/rust.nix
|
./modules/rust.nix
|
||||||
|
|
@ -29,9 +27,11 @@
|
||||||
./modules/core.nix
|
./modules/core.nix
|
||||||
./modules/libs.nix
|
./modules/libs.nix
|
||||||
./modules/rgb.nix
|
./modules/rgb.nix
|
||||||
./modules/nano.nix
|
./modules/hyprland.nix
|
||||||
./modules/searxng.nix
|
./modules/searxng.nix
|
||||||
|
./modules/nano.nix
|
||||||
./modules/qt.nix
|
./modules/qt.nix
|
||||||
|
./modules/udiskie.nix
|
||||||
];
|
];
|
||||||
npm.enable = true;
|
npm.enable = true;
|
||||||
services.udisks2.enable = true;
|
services.udisks2.enable = true;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue