diff --git a/.gitignore b/.gitignore index f1ee7d3..c68e2b1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ result +result-* .direnv .pre-commit-config.yaml .worktrees/ diff --git a/custom/clipedit/default.nix b/custom/clipedit/default.nix deleted file mode 100644 index bb97d60..0000000 --- a/custom/clipedit/default.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ writeShellScriptBin -, lib -, xclip -, coreutils -, terminal-command ? "kitty -e" -, -}: -# 64 │ function clipcopy() { xclip -in -selection clipboard < "${1:-/dev/stdin}"; } -# 65 │ function clippaste() { xclip -out -selection clipboard; } clip -writeShellScriptBin "clipedit" '' - PATH=$PATH:"${ - lib.makeBinPath [ - coreutils - xclip - ] - }" - tmp_file=$(mktemp) - xclip -out -selection -clipboard > $tmp_file - ${terminal-command} $VISUAL $tmp_file || ${terminal-command} $EDITOR $tmp_file - xclip -in -selection clipboard < $tmp_file - rm $tmp_file -'' diff --git a/custom/cocktail-bar-cli/default.nix b/custom/cocktail-bar-cli/default.nix deleted file mode 100644 index a47aef3..0000000 --- a/custom/cocktail-bar-cli/default.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ stdenv, autoPatchelfHook, ... }: -stdenv.mkDerivation rec { - name = "cocktail-bar-cli"; - version = "1.0"; - src = /home/bertof/Documenti/Security/NPI/cli/cocktail-bar-cli; - dontUnpack = true; - nativeBuildInputs = [ autoPatchelfHook ]; - installPhase = "install -m755 -D ${src} $out/bin/cocktail-bar-cli"; -} diff --git a/custom/lockscreen/default.nix b/custom/lockscreen/default.nix deleted file mode 100644 index 970943e..0000000 --- a/custom/lockscreen/default.nix +++ /dev/null @@ -1,57 +0,0 @@ -{ lib -, rice -, roboto -, i3lock-color -, writeScriptBin -, font ? { - package = roboto; - name = "Roboto"; - } -, palette ? rice.palette.palette { } -, ... -}: -let - strPalette = lib.nix-rice.palette.toRGBAHex palette; -in -writeScriptBin "lockscreen" '' - # Using font package ${font.package} - ${i3lock-color}/bin/i3lock-color \ - --insidever-color="${strPalette.normal.green}" \ - --insidewrong-color="${strPalette.normal.red}" \ - --inside-color="${strPalette.normal.black}" \ - --ringver-color="${strPalette.bright.green}" \ - --ringwrong-color="${strPalette.bright.red}" \ - --ringver-color="${strPalette.bright.green}" \ - --ringwrong-color="${strPalette.bright.red}" \ - --ring-color="${strPalette.bright.blue}" \ - --line-uses-ring \ - --keyhl-color="${strPalette.bright.red}" \ - --bshl-color="${strPalette.bright.red}" \ - --separator-color="${strPalette.normal.black}" \ - --verif-color="${strPalette.normal.green}" \ - --wrong-color="${strPalette.normal.red}" \ - --layout-color="${strPalette.normal.blue}" \ - --date-color="${strPalette.normal.blue}" \ - --time-color="${strPalette.normal.blue}" \ - --blur 10 \ - --clock \ - --indicator \ - --time-str="%H:%M:%S" \ - --date-str="%a %e %b %Y" \ - --verif-text="Verifying..." \ - --wrong-text="Auth Failed" \ - --noinput="No Input" \ - --lock-text="Locking..." \ - --lockfailed="Lock Failed" \ - --time-font="${font.name}" \ - --date-font="${font.name}" \ - --layout-font="${font.name}" \ - --verif-font="${font.name}" \ - --wrong-font="${font.name}" \ - --radius=120 \ - --ring-width=20 \ - --pass-media-keys \ - --pass-screen-keys \ - --pass-volume-keys \ - --nofork -'' diff --git a/custom/update-background/default.nix b/custom/update-background/default.nix deleted file mode 100644 index e5216e4..0000000 --- a/custom/update-background/default.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ feh -, glib -, findutils -, gnugrep -, coreutils -, writeScriptBin -, backgrounds_directory ? "$HOME/Immagini/Sfondi" -, -}: -let - find = "${findutils}/bin/find"; - grep = "${gnugrep}/bin/grep"; - shuf = "${coreutils}/bin/shuf"; -in -writeScriptBin "update-background" '' - #!/bin/sh - if [ $# -eq 0 ]; then - image=`${find} ${backgrounds_directory} -type f | ${grep} -v "/\." | ${shuf} -n 1` - else - image="$1" - fi - echo "image: $image" - ${feh}/bin/feh --bg-fill --no-fehbg "$image" - ${glib}/bin/gsettings set org.gnome.desktop.background picture-uri "file://$image" - true -'' diff --git a/flake.lock b/flake.lock index 8da55f1..76917fb 100644 --- a/flake.lock +++ b/flake.lock @@ -100,11 +100,11 @@ "flake-compat_3": { "flake": false, "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", "owner": "edolstra", "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "type": "github" }, "original": { @@ -114,22 +114,6 @@ } }, "flake-compat_4": { - "flake": false, - "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_5": { "flake": false, "locked": { "lastModified": 1696426674, @@ -145,56 +129,97 @@ "type": "github" } }, - "flake-utils": { + "flake-parts": { "inputs": { - "systems": "systems_3" + "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1726560853, - "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", + "lastModified": 1727826117, + "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1", "type": "github" }, "original": { - "owner": "numtide", - "repo": "flake-utils", + "owner": "hercules-ci", + "repo": "flake-parts", "type": "github" } }, - "flake-utils_2": { + "flake-parts_2": { "inputs": { - "systems": "systems_4" + "nixpkgs-lib": "nixpkgs-lib_2" }, "locked": { - "lastModified": 1681202837, - "narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "cfacdce06f30d2b68473a46042957675eebb3401", + "lastModified": 1727826117, + "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1", "type": "github" }, "original": { - "owner": "numtide", - "repo": "flake-utils", + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "git-hooks-nix": { + "inputs": { + "flake-compat": "flake-compat_3", + "gitignore": "gitignore", + "nixpkgs": "nixpkgs", + "nixpkgs-stable": "nixpkgs-stable" + }, + "locked": { + "lastModified": 1729104314, + "narHash": "sha256-pZRZsq5oCdJt3upZIU4aslS9XwFJ+/nVtALHIciX/BI=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "3c3e88f0f544d6bb54329832616af7eb971b6be6", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, + "git-hooks-nix_2": { + "inputs": { + "flake-compat": "flake-compat_4", + "gitignore": "gitignore_2", + "nixpkgs": "nixpkgs_2", + "nixpkgs-stable": "nixpkgs-stable_2" + }, + "locked": { + "lastModified": 1729104314, + "narHash": "sha256-pZRZsq5oCdJt3upZIU4aslS9XwFJ+/nVtALHIciX/BI=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "3c3e88f0f544d6bb54329832616af7eb971b6be6", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", "type": "github" } }, "gitignore": { "inputs": { "nixpkgs": [ - "nix-rice", - "pre-commit-hooks", + "git-hooks-nix", "nixpkgs" ] }, "locked": { - "lastModified": 1660459072, - "narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=", + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", "owner": "hercules-ci", "repo": "gitignore.nix", - "rev": "a20de23b925fd8264fd7fad6454652e142fd7f73", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", "type": "github" }, "original": { @@ -206,7 +231,8 @@ "gitignore_2": { "inputs": { "nixpkgs": [ - "pre-commit-hooks", + "nix-rice", + "git-hooks-nix", "nixpkgs" ] }, @@ -252,11 +278,11 @@ ] }, "locked": { - "lastModified": 1729414726, - "narHash": "sha256-Dtmm1OU8Ymiy9hVWn/a2B8DhRYo9Eoyx9veERdOBR4o=", + "lastModified": 1729459288, + "narHash": "sha256-gBOVJv+q6Mx8jGvwX7cE6J8+sZmi1uxpRVsO7WxvVuQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "fe56302339bb28e3471632379d733547caec8103", + "rev": "1e27f213d77fc842603628bcf2df6681d7d08f7e", "type": "github" }, "original": { @@ -304,33 +330,35 @@ }, "nix-rice": { "inputs": { - "flake-compat": "flake-compat_3", - "flake-utils": "flake-utils_2", + "flake-parts": "flake-parts_2", + "git-hooks-nix": "git-hooks-nix_2", "kitty-themes-src": "kitty-themes-src", - "nixpkgs-lib": "nixpkgs-lib", - "pre-commit-hooks": "pre-commit-hooks" + "nixpkgs": "nixpkgs_3", + "nixpkgs-lib": "nixpkgs-lib_3", + "systems": "systems_3" }, "locked": { - "lastModified": 1682952592, - "narHash": "sha256-1qXvqCxnWpk0ELdpmS2OMDu047gvl166CGBm+sfi8oo=", + "lastModified": 1729607158, + "narHash": "sha256-H0cr8kohjo+fJIKIpcLZwtmRUGH01Gyld0ulhfqe/Rw=", "owner": "bertof", "repo": "nix-rice", - "rev": "dddd03ed3c5e05c728b0df985f7af905b002f588", + "rev": "2a4b7d31de444ab5d1f8623f41f0382c9e3eac33", "type": "github" }, "original": { "owner": "bertof", + "ref": "modules", "repo": "nix-rice", "type": "github" } }, "nixlib": { "locked": { - "lastModified": 1728781282, + "lastModified": 1729386149, "narHash": "sha256-hUP9oxmnOmNnKcDOf5Y55HQ+NnoT0+bLWHLQWLLw9Ks=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "16340f605f4e8e5cf07fd74dcbe692eee2d4f51b", + "rev": "cce4521b6df014e79a7b7afc58c703ed683c916e", "type": "github" }, "original": { @@ -347,11 +375,11 @@ ] }, "locked": { - "lastModified": 1729127034, - "narHash": "sha256-42AMGl+dh4I2wGgICSeDI1mqYaDEJhwqquHJ1vA0QiQ=", + "lastModified": 1729472750, + "narHash": "sha256-s93LPHi5BN7I2xSGNAFWiYb8WRsPvT1LE9ZjZBrpFlg=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "dd28a0806e7124fe392c33c9ccaa12f21970401f", + "rev": "7c60ba4bc8d6aa2ba3e5b0f6ceb9fc07bc261565", "type": "github" }, "original": { @@ -362,11 +390,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1729417461, - "narHash": "sha256-p0j/sUs7noqZw0W+SEuZXskzOfgOH7yY80ksIM0fCi4=", + "lastModified": 1729509737, + "narHash": "sha256-8OHgqz+tFo21h3hg4/GHizFPws+MMzpEru/+62Z0E8c=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "8f38d8a4754cf673c2609c4ed399630db87e678b", + "rev": "cc2d3c0e060f981905d52337340ee6ec8b8eb037", "type": "github" }, "original": { @@ -377,27 +405,51 @@ }, "nixpkgs": { "locked": { - "lastModified": 1681303793, - "narHash": "sha256-JEdQHsYuCfRL2PICHlOiH/2ue3DwoxUX7DJ6zZxZXFk=", + "lastModified": 1719082008, + "narHash": "sha256-jHJSUH619zBQ6WdC21fFAlDxHErKVDJ5fpN0Hgx4sjs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fe2ecaf706a5907b5e54d979fbde4924d84b65fc", + "rev": "9693852a2070b398ee123a329e68f0dab5526681", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs-lib": { "locked": { - "lastModified": 1681001314, - "narHash": "sha256-5sDnCLdrKZqxLPK4KA8+f4A3YKO/u6ElpMILvX0g72c=", + "lastModified": 1727825735, + "narHash": "sha256-0xHYkMkeLVQAMa7gvkddbPqpxph+hDzdu1XdGPJR+Os=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz" + } + }, + "nixpkgs-lib_2": { + "locked": { + "lastModified": 1727825735, + "narHash": "sha256-0xHYkMkeLVQAMa7gvkddbPqpxph+hDzdu1XdGPJR+Os=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz" + } + }, + "nixpkgs-lib_3": { + "locked": { + "lastModified": 1729386149, + "narHash": "sha256-hUP9oxmnOmNnKcDOf5Y55HQ+NnoT0+bLWHLQWLLw9Ks=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "367c0e1086a4eb4502b24d872cea2c7acdd557f4", + "rev": "cce4521b6df014e79a7b7afc58c703ed683c916e", "type": "github" }, "original": { @@ -408,16 +460,16 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1678872516, - "narHash": "sha256-/E1YwtMtFAu2KUQKV/1+KFuReYPANM2Rzehk84VxVoc=", + "lastModified": 1720386169, + "narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9b8e5abb18324c7fe9f07cb100c3cd4a29cda8b8", + "rev": "194846768975b7ad2c4988bdb82572c00222c0d7", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-22.11", + "ref": "nixos-24.05", "repo": "nixpkgs", "type": "github" } @@ -456,11 +508,42 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1729357638, - "narHash": "sha256-66RHecx+zohbZwJVEPF7uuwHeqf8rykZTMCTqIrOew4=", + "lastModified": 1719082008, + "narHash": "sha256-jHJSUH619zBQ6WdC21fFAlDxHErKVDJ5fpN0Hgx4sjs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "bb8c2cf7ea0dd2e18a52746b2c3a5b0c73b93c22", + "rev": "9693852a2070b398ee123a329e68f0dab5526681", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1729507178, + "narHash": "sha256-3UZqmGSK+uMUGkydhnqng/iaT857JtAxH9DtucTbUQs=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "e156ec8b02301cd455ab96bbd53ebd7bf7d1e29d", + "type": "github" + }, + "original": { + "owner": "nixos", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_4": { + "locked": { + "lastModified": 1729519254, + "narHash": "sha256-tcPVpLwrcqFM4ovqXtHgwgMT+nm4qBa/6pwkckks35A=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "7c51187abf20b81c883605ab8e8c7acdc24fadb2", "type": "github" }, "original": { @@ -470,68 +553,21 @@ "type": "github" } }, - "pre-commit-hooks": { - "inputs": { - "flake-compat": "flake-compat_4", - "flake-utils": [ - "nix-rice", - "flake-utils" - ], - "gitignore": "gitignore", - "nixpkgs": "nixpkgs", - "nixpkgs-stable": "nixpkgs-stable" - }, - "locked": { - "lastModified": 1682596858, - "narHash": "sha256-Hf9XVpqaGqe/4oDGr30W8HlsWvJXtMsEPHDqHZA6dDg=", - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "rev": "fb58866e20af98779017134319b5663b8215d912", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "type": "github" - } - }, - "pre-commit-hooks_2": { - "inputs": { - "flake-compat": "flake-compat_5", - "gitignore": "gitignore_2", - "nixpkgs": [ - "nixpkgs" - ], - "nixpkgs-stable": "nixpkgs-stable_2" - }, - "locked": { - "lastModified": 1729104314, - "narHash": "sha256-pZRZsq5oCdJt3upZIU4aslS9XwFJ+/nVtALHIciX/BI=", - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "rev": "3c3e88f0f544d6bb54329832616af7eb971b6be6", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "type": "github" - } - }, "root": { "inputs": { "agenix": "agenix", "deploy-rs": "deploy-rs", "flake-compat": "flake-compat_2", - "flake-utils": "flake-utils", + "flake-parts": "flake-parts", + "git-hooks-nix": "git-hooks-nix", "home-manager": "home-manager_2", "home-manager-u": "home-manager-u", "nix-rice": "nix-rice", "nixos-generators": "nixos-generators", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_4", "nixpkgs-u": "nixpkgs-u", - "pre-commit-hooks": "pre-commit-hooks_2" + "systems": "systems_4" } }, "systems": { diff --git a/flake.nix b/flake.nix index 5ee5a41..7a40c69 100644 --- a/flake.nix +++ b/flake.nix @@ -25,8 +25,7 @@ nixpkgs.follows = "nixpkgs"; }; }; - flake-utils.url = "github:numtide/flake-utils"; - nix-rice.url = "github:bertof/nix-rice"; + nix-rice.url = "github:bertof/nix-rice/modules"; nixos-generators = { url = "github:nix-community/nixos-generators"; inputs = { @@ -34,31 +33,18 @@ }; }; nixos-hardware.url = "github:NixOS/nixos-hardware"; - pre-commit-hooks = { - url = "github:cachix/pre-commit-hooks.nix"; - inputs = { - nixpkgs.follows = "nixpkgs"; - }; - }; + + systems.url = "github:nix-systems/default"; + flake-parts.url = "github:hercules-ci/flake-parts"; + git-hooks-nix.url = "github:cachix/git-hooks.nix"; + # agenix-shell.url = "github:aciceri/agenix-shell"; # TODO + # agenix-rekey.url = "github:oddlama/agenix-rekey"; # TODO + # emanote.url = "github:srid/emanote"; }; - outputs = - { self - , nixpkgs - , nixpkgs-u - , home-manager - , home-manager-u - , agenix - , deploy-rs - , flake-utils - , nixos-generators - , nixos-hardware - , nix-rice - , pre-commit-hooks - , ... - }: + outputs = inputs: let - config = { + nix-config = { allowUnfree = true; extraOptions = "experimental-features = nix-command flakes"; permittedInsecurePackages = [ @@ -66,126 +52,28 @@ ]; }; - overlays = [ - # Combine stable and unstable packages - (self: _: { - stable_pkgs = import nixpkgs { - inherit config overlays; - inherit (self) system; - }; - unstable_pkgs = import nixpkgs-u { - inherit config overlays; - inherit (self) system; - }; - }) - - # Nix rice - nix-rice.overlays.default - (import ./rice.nix) - - # Flakes packages - (self: super: { - clipedit = self.callPackage ./custom/clipedit { }; - wl-clipedit = self.callPackage ./custom/wl-clipedit { }; - update-background = self.callPackage ./custom/update-background { - backgrounds_directory = "$HOME/Immagini/Sfondi/1080+/1440+"; - }; - lockscreen = self.callPackage ./custom/lockscreen { - palette = self.rice.colorPalette; - font = self.rice.font.normal; - }; - way-lockscreen = self.callPackage ./custom/way-lockscreen { - palette = self.rice.colorPalette; - font = self.rice.font.normal; - }; - sddm-theme-clairvoyance = self.callPackage ./custom/sddm-theme-clairvoyance { - wallpaper = ./wallpapers/background.jpg; - }; - keyboard-switch = self.callPackage ./custom/keyboard-switch { }; - sddm-sugar-dark = self.callPackage ./custom/sddm-sugar-dark { }; - google-chrome = super.google-chrome.override { - commandLineArgs = [ - "--password-store=gnome" - "--force-dark-mode" - ]; - }; - logseq = super.logseq.override { electron = super.electron_27; }; - }) - ]; - - basic = - with flake-utils.lib; - eachDefaultSystem ( - system: - let - pkgs = import nixpkgs { inherit system config overlays; }; - in - { - checks = { - pre-commit-check = pre-commit-hooks.lib.${system}.run { - src = ./.; - hooks = { - deadnix.enable = true; - nixpkgs-fmt.enable = true; - statix.enable = true; - }; - }; - }; - - devShells.default = pkgs.mkShell { - buildInputs = [ - # deploy-rs.packages.${system}.deploy-rs - pkgs.deploy-rs - ]; - shellHook = '' - ${self.checks.${system}.pre-commit-check.shellHook} - ''; - LOCAL_KEY = "/etc/nix/key"; - }; - - formatter = pkgs.nixpkgs-fmt; - } - ); - - nix_configuration = { + basic_module = { nixpkgs = { - inherit overlays config; + config = nix-config; + overlays = [ + # packages + inputs.self.overlays.packages + inputs.self.overlays.overrides + ]; }; nix = { - inherit (config) extraOptions; + inherit (nix-config) extraOptions; registry = { - nixpkgs = { - from = { - id = "nixpkgs"; - type = "indirect"; - }; - to = { - owner = "nixos"; - repo = "nixpkgs"; - type = "github"; - }; - }; - stable = { - from = { - id = "stable"; - type = "indirect"; - }; - flake = nixpkgs; - }; - unstable = { - from = { - id = "unstable"; - type = "indirect"; - }; - flake = nixpkgs-u; - }; + nixpkgs = { from = { id = "nixpkgs"; type = "indirect"; }; to = { owner = "nixos"; repo = "nixpkgs"; type = "github"; }; }; + stable = { from = { id = "stable"; type = "indirect"; }; flake = inputs.nixpkgs; }; + unstable = { from = { id = "unstable"; type = "indirect"; }; flake = inputs.nixpkgs-u; }; }; }; }; # Home manager configuration homeManagerModules = [ - home-manager.nixosModules.default + inputs.home-manager.nixosModules.default { home-manager = { useGlobalPkgs = true; @@ -193,34 +81,29 @@ }; } ]; - homeManagerUModules = [ - home-manager-u.nixosModules.default + inputs.home-manager-u.nixosModules.default { home-manager = { useGlobalPkgs = true; useUserPackages = true; }; } ]; + commonModules = [ # Nix configuration - nix_configuration + basic_module + + inputs.nix-rice.modules.default + ./modules/nixos/rice.nix # S3 cache read ./modules/nixos/s3_cache_read.nix # Agenix configuration - agenix.nixosModules.default + inputs.agenix.nixosModules.default { age.secrets = { - # oauth_proxy_client_credentials.file = ./secrets/oauth_proxy_client_credentials.age; - # spotify_password = { file = ./secrets/spotify_password.age; owner = "bertof"; }; - wg_psk = { - file = ./secrets/wg_psk.age; - }; - baldur_wg_priv = { - file = ./secrets/baldur_wg_priv.age; - }; - oppo_wg_priv = { - file = ./secrets/oppo_wg_priv.age; - }; + wg_psk.file = ./secrets/wg_psk.age; + baldur_wg_priv.file = ./secrets/baldur_wg_priv.age; + oppo_wg_priv.file = ./secrets/oppo_wg_priv.age; }; } @@ -230,158 +113,236 @@ ./modules/nixos/basics ]; + + odinCommonModules = [ + inputs.nixos-hardware.nixosModules.common-cpu-intel + inputs.nixos-hardware.nixosModules.common-pc-laptop + inputs.nixos-hardware.nixosModules.common-pc-laptop-ssd + ./instances/odin/hardware-configuration.nix + ./instances/odin/common_configuration.nix + + # S3 cache write + ./modules/nixos/s3_cache_write.nix + + # ./modules/nixos/pro_audio.nix + ./modules/nixos/kdeconnect.nix + ./modules/nixos/steam.nix + + ./modules/nixos/hyprland.nix + { home-manager.users.bertof.imports = [ ./modules/hm/hyprland.nix ]; } + + ./modules/nixos/musa.nix + ] ++ homeManagerUModules ++ [{ home-manager.users.bertof = import ./instances/odin/hm.nix; }]; + installerModules = commonModules ++ [ ./modules/nixos/installer.nix ]; + in + inputs.flake-parts.lib.mkFlake { inherit inputs; } { + systems = import inputs.systems; + imports = [ + inputs.git-hooks-nix.flakeModule + ]; + perSystem = { config, pkgs, system, ... }: { + _module.args.pkgs = import inputs.nixpkgs { + inherit system; + config = nix-config; + overlays = [ + # inputs.nix-rice.overlays.default + inputs.self.overlays.packages + ]; + }; - thorConfig = { - nixosConfigurations = { - thor = nixpkgs-u.lib.nixosSystem { - system = "x86_64-linux"; - modules = - commonModules - ++ [ - ./instances/thor/hardware-configuration.nix - nixos-hardware.nixosModules.common-cpu-amd - nixos-hardware.nixosModules.common-pc-ssd - ./instances/thor/configuration.nix + pre-commit.settings.hooks = { + deadnix.enable = true; + nixpkgs-fmt.enable = true; + statix.enable = true; + }; - # S3 cache write - ./modules/nixos/s3_cache_write.nix + devShells.default = pkgs.mkShell { + shellHook = '' + ${config.pre-commit.installationScript} + LOCAL_KEY = "/etc/nix/key"; + ''; + }; - ./modules/nixos/pro_audio.nix - ./modules/nixos/kdeconnect.nix - ./modules/nixos/steam.nix + formatter = pkgs.nixpkgs-fmt; - ./modules/nixos/plymouth.nix - ./modules/nixos/hyprland.nix - { - home-manager.users.bertof.imports = [ - ./modules/hm/hyprland.nix - ./modules/hm/swayidle.nix - ]; - } + packages = { + inherit + (pkgs) + keyboard-switch + sddm-sugar-dark + sddm-theme-clairvoyance + wl-clipedit + wl-lockscreen + wl-update-background + ; - ./modules/nixos/musa.nix - ] - ++ homeManagerUModules - ++ [{ home-manager.users.bertof = import ./instances/thor/hm.nix; }]; + + # Installer ISO + install-iso = inputs.nixos-generators.nixosGenerate { + inherit system; + modules = installerModules; + format = "install-iso"; }; + # RAW base image + raw-base-image = inputs.nixos-generators.nixosGenerate { + inherit system; + modules = installerModules; + format = "raw-efi"; + }; + # VMDK base image + vmdk-base-image = inputs.nixos-generators.nixosGenerate { + system = "x86_64-linux"; + modules = installerModules; + format = "vmware"; + }; + # Aarch64 base image + aarch64-base-image = inputs.nixos-generators.nixosGenerate { + system = "aarch64-linux"; + modules = installerModules; + format = "sd-aarch64"; + }; + # Installer DigitalOcean + do-image = inputs.nixos-generators.nixosGenerate { + inherit system; + modules = installerModules; + format = "do"; + }; + }; }; - odinConfig = { - nixosConfigurations = - let - odinCommonModules = [ - nixos-hardware.nixosModules.common-cpu-intel - nixos-hardware.nixosModules.common-pc-laptop - nixos-hardware.nixosModules.common-pc-laptop-ssd - ./instances/odin/hardware-configuration.nix - ./instances/odin/common_configuration.nix + flake = { + + overlays = { + default = inputs.self.overlays.packages; + + packages = self: _super: { + keyboard-switch = self.callPackage ./pkgs/keyboard-switch { }; + sddm-sugar-dark = self.callPackage ./pkgs/sddm-sugar-dark { }; + sddm-theme-clairvoyance = self.callPackage ./pkgs/sddm-theme-clairvoyance { }; + wl-clipedit = self.callPackage ./pkgs/wl-clipedit { }; + wl-lockscreen = self.callPackage ./pkgs/wl-lockscreen { }; + wl-update-background = self.callPackage ./pkgs/wl-update-background { }; + }; + + overrides = _self: super: { + google-chrome = super.google-chrome.override { commandLineArgs = [ "--password-store=gnome" "--force-dark-mode" ]; }; + sddm-theme-clairvoyance = super.sddm-theme-clairvoyance.override { wallpaper = ./wallpapers/background.jpg; }; + }; + + # two-channels = (self: _: { + # stable_pkgs = import inputs.nixpkgs { + # inherit config overlays; + # inherit (self) system; + # }; + # unstable_pkgs = import inputs.nixpkgs-u { + # inherit config overlays; + # inherit (self) system; + # }; + # }); + }; + + nixosConfigurations = { + thor = inputs.nixpkgs-u.lib.nixosSystem { + system = "x86_64-linux"; + modules = commonModules ++ [ + ./instances/thor/hardware-configuration.nix + inputs.nixos-hardware.nixosModules.common-cpu-amd + inputs.nixos-hardware.nixosModules.common-pc-ssd + ./instances/thor/configuration.nix # S3 cache write ./modules/nixos/s3_cache_write.nix - # ./modules/nixos/pro_audio.nix + ./modules/nixos/pro_audio.nix ./modules/nixos/kdeconnect.nix ./modules/nixos/steam.nix + ./modules/nixos/plymouth.nix ./modules/nixos/hyprland.nix - { home-manager.users.bertof.imports = [ ./modules/hm/hyprland.nix ]; } + { + home-manager.users.bertof.imports = [ + ./modules/hm/hyprland.nix + ./modules/hm/swayidle.nix + ]; + } ./modules/nixos/musa.nix - ] ++ homeManagerUModules ++ [{ home-manager.users.bertof = import ./instances/odin/hm.nix; }]; - in - rec { - odin-nvidia = nixpkgs-u.lib.nixosSystem { - system = "x86_64-linux"; - modules = commonModules ++ odinCommonModules ++ [ ./instances/odin/configuration-nvidia.nix ]; - }; - - odin-intel = nixpkgs-u.lib.nixosSystem { - system = "x86_64-linux"; - modules = commonModules ++ odinCommonModules ++ [ ./instances/odin/configuration-intel.nix ]; - }; - - odin = odin-intel; + ] ++ homeManagerUModules ++ [{ + home-manager.users.bertof = import ./instances/thor/hm.nix; + }]; }; - }; - heimdallConfig = { - nixosConfigurations = { - heimdall = nixpkgs.lib.nixosSystem { + odin-nvidia = inputs.nixpkgs-u.lib.nixosSystem { system = "x86_64-linux"; - modules = - commonModules - ++ [ - nixos-hardware.nixosModules.common-cpu-amd - nixos-hardware.nixosModules.common-gpu-amd - nixos-hardware.nixosModules.common-pc-ssd - ./modules/nixos/server - - ./instances/heimdall/hardware-configuration.nix - ./instances/heimdall/configuration.nix - - ./modules/nixos/users/tiziano.nix - - ./modules/nixos/torrentbox.nix - ./modules/nixos/minio.nix - ./modules/nixos/rclone.nix - ./modules/nixos/nextcloud.nix - # ./modules/nixos/ntfy.nix - # S3 cache read - ./modules/nixos/s3_cache_read.nix - ] - ++ homeManagerModules - ++ [{ home-manager.users.bertof = import ./instances/heimdall/hm.nix; }]; + modules = commonModules ++ odinCommonModules ++ [ ./instances/odin/configuration-nvidia.nix ]; }; - }; - }; - freyaConfig = { - nixosConfigurations = { - freya = nixpkgs.lib.nixosSystem { + odin = inputs.nixpkgs-u.lib.nixosSystem { + system = "x86_64-linux"; + modules = commonModules ++ odinCommonModules ++ [ ./instances/odin/configuration-intel.nix ]; + }; + + heimdall = inputs.nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + modules = commonModules ++ [ + inputs.nixos-hardware.nixosModules.common-cpu-amd + inputs.nixos-hardware.nixosModules.common-gpu-amd + inputs.nixos-hardware.nixosModules.common-pc-ssd + ./modules/nixos/server + + ./instances/heimdall/hardware-configuration.nix + ./instances/heimdall/configuration.nix + + ./modules/nixos/users/tiziano.nix + + ./modules/nixos/torrentbox.nix + ./modules/nixos/minio.nix + ./modules/nixos/rclone.nix + ./modules/nixos/nextcloud.nix + # ./modules/nixos/ntfy.nix + # S3 cache read + ./modules/nixos/s3_cache_read.nix + ] ++ homeManagerModules ++ [{ + home-manager.users.bertof = import ./instances/heimdall/hm.nix; + }]; + }; + + freya = inputs.nixpkgs.lib.nixosSystem { system = "aarch64-linux"; - modules = - commonModules - ++ [ - nixos-hardware.nixosModules.raspberry-pi-4 - ( - { lib, ... }: - { - boot.supportedFilesystems = lib.mkForce [ - "btrfs" - "reiserfs" - "vfat" - "f2fs" - "xfs" - "ntfs" - "cifs" - ]; - } - ) - ./modules/nixos/server + modules = commonModules ++ [ + inputs.nixos-hardware.nixosModules.raspberry-pi-4 + ({ lib, ... }: { + boot.supportedFilesystems = lib.mkForce [ + "btrfs" + "reiserfs" + "vfat" + "f2fs" + "xfs" + "ntfs" + "cifs" + ]; + }) + ./modules/nixos/server - ./instances/freya/hardware-configuration.nix - ./instances/freya/configuration.nix + ./instances/freya/hardware-configuration.nix + ./instances/freya/configuration.nix - ./modules/nixos/users/tiziano.nix + ./modules/nixos/users/tiziano.nix - ./modules/nixos/torrentbox.nix - ./modules/nixos/minio.nix - # ./modules/nixos/nextcloud.nix - ./modules/nixos/ntfy.nix - # S3 cache read - ./modules/nixos/s3_cache_read.nix - ] - ++ homeManagerModules - ++ [{ home-manager.users.bertof = import ./instances/freya/hm.nix; }]; + ./modules/nixos/torrentbox.nix + ./modules/nixos/minio.nix + # ./modules/nixos/nextcloud.nix + ./modules/nixos/ntfy.nix + # S3 cache read + ./modules/nixos/s3_cache_read.nix + ] ++ homeManagerModules ++ [{ + home-manager.users.bertof = import ./instances/freya/hm.nix; + }]; }; - }; - }; - baldurConfig = { - nixosConfigurations = { - baldur = nixpkgs.lib.nixosSystem { + baldur = inputs.nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = commonModules ++ [ ./modules/nixos/server @@ -399,141 +360,57 @@ # }] ; }; - }; - }; - lokiConfig = { - nixosConfigurations = { - loki = nixpkgs.lib.nixosSystem { + loki = inputs.nixpkgs.lib.nixosSystem { system = "x86_64-linux"; - modules = - commonModules - ++ [ - ./modules/nixos/server + modules = commonModules ++ [ + ./modules/nixos/server - nixos-hardware.nixosModules.common-cpu-intel - nixos-hardware.nixosModules.common-pc-ssd - ./instances/loki/hardware-configuration.nix - ./instances/loki/configuration.nix + inputs.nixos-hardware.nixosModules.common-cpu-intel + inputs.nixos-hardware.nixosModules.common-pc-ssd + ./instances/loki/hardware-configuration.nix + ./instances/loki/configuration.nix - ./modules/nixos/users/tiziano.nix - # S3 cache read - ./modules/nixos/s3_cache_read.nix - ] - ++ homeManagerModules - ++ [ - { - home-manager.users.bertof = import ./instances/loki/hm.nix; - home-manager.users.tiziano = import ./instances/loki/hm_tiziano.nix; - } - ]; + ./modules/nixos/users/tiziano.nix + # S3 cache read + ./modules/nixos/s3_cache_read.nix + ] ++ homeManagerModules ++ [{ + home-manager.users.bertof = import ./instances/loki/hm.nix; + home-manager.users.tiziano = import ./instances/loki/hm_tiziano.nix; + }]; }; - }; - }; - deployments = { - # Deploy-rs checks - checks = builtins.mapAttrs (_system: deployLib: deployLib.deployChecks self.deploy) deploy-rs.lib; + # # Deploy-rs checks + # checks = builtins.mapAttrs (_system: deployLib: deployLib.deployChecks inputs.self.deploy) inputs.deploy-rs.lib; - # Map nodes to Deploy-rs deployments - deploy.nodes = { - baldur = { - hostname = "baldur.bertof.net"; - profiles.system = { - user = "root"; - path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.baldur; + # Map nodes to Deploy-rs deployments + deploy.nodes = { + baldur = { + hostname = "baldur.bertof.net"; + profiles.system = { user = "root"; path = inputs.deploy-rs.lib.x86_64-linux.activate.nixos inputs.self.nixosConfigurations.baldur; }; }; - }; - freya = { - hostname = "freya.tsn"; - profiles.system = { - user = "root"; - path = deploy-rs.lib.aarch64-linux.activate.nixos self.nixosConfigurations.freya; + freya = { + hostname = "freya.tsn"; + profiles.system = { user = "root"; path = inputs.deploy-rs.lib.aarch64-linux.activate.nixos inputs.self.nixosConfigurations.freya; }; }; - }; - heimdall = { - hostname = "heimdall.tsn"; - profiles.system = { - user = "root"; - path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.heimdall; + heimdall = { + hostname = "heimdall.tsn"; + profiles.system = { user = "root"; path = inputs.deploy-rs.lib.x86_64-linux.activate.nixos inputs.self.nixosConfigurations.heimdall; }; }; - }; - loki = { - hostname = "loki.tsn"; - profiles.system = { - user = "root"; - path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.loki; + loki = { + hostname = "loki.tsn"; + profiles.system = { user = "root"; path = inputs.deploy-rs.lib.x86_64-linux.activate.nixos inputs.self.nixosConfigurations.loki; }; }; - }; - odin = { - hostname = "odin.tsn"; - profiles.system = { - user = "root"; - path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.odin; + odin = { + hostname = "odin.tsn"; + profiles.system = { user = "root"; path = inputs.deploy-rs.lib.x86_64-linux.activate.nixos inputs.self.nixosConfigurations.odin; }; }; - }; - thor = { - hostname = "thor.tsn"; - profiles.system = { - user = "root"; - path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.thor; + thor = { + hostname = "thor.tsn"; + profiles.system = { user = "root"; path = inputs.deploy-rs.lib.x86_64-linux.activate.nixos inputs.self.nixosConfigurations.thor; }; }; }; }; }; - - images = - with flake-utils.lib; - eachSystem - [ - system.x86_64-linux - system.aarch64-linux - ] - (system: { - packages = { - # Installer ISO - install-iso = nixos-generators.nixosGenerate { - inherit system; - modules = installerModules; - format = "install-iso"; - }; - # RAW base image - raw-base-image = nixos-generators.nixosGenerate { - system = flake-utils.lib.system.x86_64-linux; - modules = installerModules; - format = "raw-efi"; - }; - # VMDK base image - vmdk-base-image = nixos-generators.nixosGenerate { - system = flake-utils.lib.system.x86_64-linux; - modules = installerModules; - format = "vmware"; - }; - # Aarch64 base image - aarch64-base-image = nixos-generators.nixosGenerate { - system = flake-utils.lib.system.aarch64-linux; - modules = installerModules; - format = "sd-aarch64"; - }; - # Installer DigitalOcean - do-image = nixos-generators.nixosGenerate { - inherit system; - modules = installerModules; - format = "do"; - }; - }; - }); - - in - builtins.foldl' nixpkgs.lib.recursiveUpdate { } [ - basic - thorConfig - odinConfig - freyaConfig - baldurConfig - heimdallConfig - lokiConfig - deployments - images - ]; + }; } diff --git a/instances/loki/configuration.nix b/instances/loki/configuration.nix index e868395..b0484c3 100644 --- a/instances/loki/configuration.nix +++ b/instances/loki/configuration.nix @@ -300,7 +300,6 @@ in services.home-assistant = { enable = true; openFirewall = true; - # package = pkgs.unstable_pkgs.home-assistant; config = { default_config = { }; diff --git a/instances/odin/configuration-nvidia.nix b/instances/odin/configuration-nvidia.nix index e182b53..ab29c90 100644 --- a/instances/odin/configuration-nvidia.nix +++ b/instances/odin/configuration-nvidia.nix @@ -5,24 +5,19 @@ , ... }: { + boot.initrd.kernelModules = [ "i915" ]; - boot = { - initrd.kernelModules = [ "i915" ]; - kernelPackages = pkgs.unstable_pkgs.linuxPackages; - }; - - hardware.nvidia = - { - # modesetting.enable = true; - # package = pkgs.linuxPackages.nvidia_x11; - open = false; - prime = { - offload.enable = false; - sync.enable = true; - intelBusId = "PCI:0:2:0"; - nvidiaBusId = "PCI:1:0:0"; - }; + hardware.nvidia = { + # modesetting.enable = true; + # package = pkgs.linuxPackages.nvidia_x11; + open = false; + prime = { + offload.enable = false; + sync.enable = true; + intelBusId = "PCI:0:2:0"; + nvidiaBusId = "PCI:1:0:0"; }; + }; programs.gamemode = { enable = true; diff --git a/instances/odin/hm.nix b/instances/odin/hm.nix index 7911fd9..5c74469 100644 --- a/instances/odin/hm.nix +++ b/instances/odin/hm.nix @@ -56,9 +56,6 @@ wireguard-tools xournalpp zoom-us - ; - inherit (pkgs.unstable_pkgs) - # heroic proton-pass; }; }; @@ -100,7 +97,6 @@ ../../modules/hm/biblio.nix # ../../modules/hm/bitwarden.nix # ../../modules/hm/blender.nix - # ../../modules/hm/bspwm.nix ../../modules/hm/cava.nix # ../../modules/hm/dwarf-fortress.nix ../../modules/hm/easyeffects.nix @@ -142,7 +138,7 @@ ../../modules/hm/syncthing.nix # ../../modules/hm/thunar.nix # ../../modules/hm/twmn.nix - ../../modules/hm/update_background.nix + # ../../modules/hm/update_background.nix ../../modules/hm/vim.nix ../../modules/hm/virtualization.nix ../../modules/hm/webapp.nix diff --git a/instances/thor/hm.nix b/instances/thor/hm.nix index f3d96a5..40e6e28 100644 --- a/instances/thor/hm.nix +++ b/instances/thor/hm.nix @@ -61,7 +61,7 @@ xournalpp zoom-us ; - inherit (pkgs.unstable_pkgs) heroic; + inherit (pkgs) heroic; }; }; @@ -91,7 +91,6 @@ ../../modules/hm/biblio.nix # ../../modules/hm/bitwarden.nix ../../modules/hm/blender_nvidia.nix - # ../../modules/hm/bspwm.nix ../../modules/hm/cava.nix # ../../modules/hm/dwarf-fortress.nix ../../modules/hm/easyeffects.nix @@ -130,15 +129,13 @@ # ../../modules/hm/screen_locker.nix # ../../modules/hm/security.nix # ../../modules/hm/spotifyd.nix - ../../modules/hm/sxhkd.nix ../../modules/hm/syncthing.nix # ../../modules/hm/thunar.nix # ../../modules/hm/twmn.nix - ../../modules/hm/update_background.nix + # ../../modules/hm/update_background.nix ../../modules/hm/vim.nix ../../modules/hm/virtualization.nix ../../modules/hm/webapp.nix - ../../modules/hm/wl_update_background.nix ../../modules/hm/xresources.nix ../../modules/hm/zathura.nix ../../modules/hm/yazi.nix diff --git a/modules/hm/alacritty.nix b/modules/hm/alacritty.nix index c114b33..690ec5e 100644 --- a/modules/hm/alacritty.nix +++ b/modules/hm/alacritty.nix @@ -1,8 +1,10 @@ -{ pkgs, ... }: +{ nixosConfig, ... }: +with nixosConfig.nix-rice.lib; let - strPalette = pkgs.lib.nix-rice.palette.toRgbHex rec { - inherit (pkgs.rice.colorPalette) normal bright primary; - dim = pkgs.rice.colorPalette.dark; + inherit (nixosConfig.nix-rice) rice; + strPalette = palette.toRgbHex rec { + inherit (rice.colorPalette) normal bright primary; + dim = rice.colorPalette.dark; cursor = { cursor = normal.white; text = normal.black; @@ -23,7 +25,7 @@ let in { # Include fonts packages - home.packages = [ pkgs.rice.font.monospace.package ]; + home.packages = [ rice.font.monospace.package ]; programs.alacritty = { enable = true; settings = { @@ -41,10 +43,10 @@ in }; scrolling.history = 3000; font = { - normal.family = pkgs.rice.font.monospace.name; - inherit (pkgs.rice.font.monospace) size; + normal.family = rice.font.monospace.name; + inherit (rice.font.monospace) size; }; - window.opacity = pkgs.rice.opacity; + window.opacity = rice.opacity; mouse = { # hide_when_typing = true; hints.modifiers = "Control"; diff --git a/modules/hm/biblio.nix b/modules/hm/biblio.nix index 5af2b32..0ff6026 100644 --- a/modules/hm/biblio.nix +++ b/modules/hm/biblio.nix @@ -2,6 +2,6 @@ { home.packages = builtins.attrValues { # inherit (pkgs) calibre; - inherit (pkgs.unstable_pkgs) mangal; + inherit (pkgs) mangal; }; } diff --git a/modules/hm/blender_nvidia.nix b/modules/hm/blender_nvidia.nix index 8f9aa3a..e7b6451 100644 --- a/modules/hm/blender_nvidia.nix +++ b/modules/hm/blender_nvidia.nix @@ -1,4 +1,4 @@ { pkgs, ... }: { - home.packages = [ (pkgs.unstable_pkgs.blender.override { cudaSupport = true; }) ]; + home.packages = [ (pkgs.blender.override { cudaSupport = true; }) ]; } diff --git a/modules/hm/bspwm.nix b/modules/hm/bspwm.nix deleted file mode 100644 index 37e5ef1..0000000 --- a/modules/hm/bspwm.nix +++ /dev/null @@ -1,84 +0,0 @@ -{ pkgs, lib, ... }: -let - xsetroot = "${pkgs.xorg.xsetroot}/bin/xsetroot"; - monitorPages = [ - "Ⅰ" - "Ⅱ" - "Ⅲ" - "Ⅳ" - "Ⅴ" - "Ⅵ" - "Ⅶ" - "Ⅷ" - "Ⅸ" - "Ⅹ" - ]; - monitorPagesString = lib.strings.concatStringsSep " " monitorPages; - monitorSetupScript = pkgs.writeShellScript "monitorSetupScript" '' - for monitor in $(bspc query -M --names); do - bspc monitor $monitor -d ${monitorPagesString} - done - ${pkgs.autorandr}/bin/autorandr -c || true - systemctl --user restart polybar # Restart polybar - systemctl --user restart kdeconnect-indicator # Restart polybar - ''; - strPalette = pkgs.lib.nix-rice.palette.toRGBHex pkgs.rice.colorPalette; -in -{ - imports = [ - ./picom.nix - ./polybar.nix - ./sxhkd.nix - ./update_background.nix - ./xidlehook.nix - ./dunst.nix - ]; - - home.packages = builtins.attrValues { - inherit (pkgs) - arandr - blueman - dmenu - keyboard-switch - ; - }; - - xsession.windowManager.bspwm = { - enable = true; - settings = { - border_width = 1; - border_radius = 8; - window_gap = 2; - split_ratio = 0.5; - top_padding = 0; - bottom_padding = 0; - right_padding = 0; - left_padding = 0; - borderless_monocle = true; - gapless_monocle = false; - normal_border_color = strPalette.normal.blue; - focused_border_color = strPalette.bright.red; - }; - # monitors = builtins.foldl' (acc: monitor: acc // { ${monitor} = monitorPages; }) { } monitors; - rules = { - "*" = { - follow = true; - }; - "Zathura" = { - state = "tiled"; - }; - "Yad" = { - state = "floating"; - }; - }; - startupPrograms = [ - "${monitorSetupScript}" # Setup monitors - "${xsetroot} -solid black -cursor_name left_ptr" # Set cursor - "${pkgs.update-background}/bin/update-background" # Set background - ]; - }; - services = { - network-manager-applet.enable = true; - blueman-applet.enable = true; - }; -} diff --git a/modules/hm/cava.nix b/modules/hm/cava.nix index 6eeabe1..84d5e5e 100644 --- a/modules/hm/cava.nix +++ b/modules/hm/cava.nix @@ -1,6 +1,7 @@ -{ pkgs, lib, ... }: +{ pkgs, lib, nixosConfig, ... }: +with nixosConfig.nix-rice.lib; let - strPalette = pkgs.lib.nix-rice.palette.toRgbHex pkgs.rice.colorPalette; + strPalette = palette.toRgbHex nixosConfig.nix-rice.rice.colorPalette; fmtString = str: "'${str}'"; in { diff --git a/modules/hm/development/database.nix b/modules/hm/development/database.nix index 1e97f58..99ba012 100644 --- a/modules/hm/development/database.nix +++ b/modules/hm/development/database.nix @@ -1,4 +1,4 @@ { pkgs, ... }: { - home.packages = builtins.attrValues { inherit (pkgs.unstable_pkgs.jetbrains) datagrip jdk; }; + home.packages = builtins.attrValues { inherit (pkgs.jetbrains) datagrip jdk; }; } diff --git a/modules/hm/development/kubernetes.nix b/modules/hm/development/kubernetes.nix index 5ae63e0..544902a 100644 --- a/modules/hm/development/kubernetes.nix +++ b/modules/hm/development/kubernetes.nix @@ -19,7 +19,7 @@ pkgs.k9s pkgs.awscli2 pkgs.lens - pkgs.unstable_pkgs.kubevirt + pkgs.kubevirt ]; }; } diff --git a/modules/hm/dunst.nix b/modules/hm/dunst.nix index 8ab8975..3ef0523 100644 --- a/modules/hm/dunst.nix +++ b/modules/hm/dunst.nix @@ -1,26 +1,24 @@ -{ pkgs, ... }: +{ pkgs, nixosConfig, ... }: +with nixosConfig.nix-rice.lib; let - inherit (pkgs.lib) nix-rice; - strPalette = nix-rice.palette.toRGBHex pkgs.rice.colorPalette; + inherit (nixosConfig.nix-rice) rice; + strPalette = palette.toRGBHex rice.colorPalette; in { home.packages = builtins.attrValues { inherit (pkgs) dunst; - inherit (pkgs.rice.font.normal) package; + inherit (rice.font.normal) package; }; services.dunst = { enable = true; - iconTheme = { - package = pkgs.qogir-icon-theme; - name = "Qogir"; - }; + iconTheme = { package = pkgs.qogir-icon-theme; name = "Qogir"; }; settings = { global = { browser = "${pkgs.xdg-utils}/bin/xdg-open"; corner_radius = 10; dmenu = "${pkgs.rofi}/bin/rofi -dmenu -p dunst:"; follow = "keyboard"; - font = "${pkgs.rice.font.normal.name} 10"; + font = "${rice.font.normal.name} 10"; frame_color = strPalette.normal.blue; frame_width = 1; height = 320; @@ -28,7 +26,7 @@ in notification_limit = 10; offset = "7x7"; separator_color = strPalette.normal.blue; - transparency = 100 - nix-rice.float.round (pkgs.rice.opacity * 100); + transparency = 100 - nix-rice.float.round (rice.opacity * 100); width = "(0, 320)"; }; urgency_low = { diff --git a/modules/hm/fonts.nix b/modules/hm/fonts.nix index 5cdbed4..e313df4 100644 --- a/modules/hm/fonts.nix +++ b/modules/hm/fonts.nix @@ -1,8 +1,6 @@ { pkgs, ... }: { - fonts.fontconfig = { - enable = true; - }; + fonts.fontconfig.enable = true; home.packages = builtins.attrValues { inherit (pkgs) dejavu_fonts diff --git a/modules/hm/gtk_theme.nix b/modules/hm/gtk_theme.nix index a57718d..d57eced 100644 --- a/modules/hm/gtk_theme.nix +++ b/modules/hm/gtk_theme.nix @@ -1,8 +1,8 @@ -{ pkgs, ... }: +{ pkgs, nixosConfig, ... }: { gtk = { enable = true; - font = pkgs.rice.font.normal; + font = nixosConfig.nix-rice.rice.font.normal; iconTheme = { package = pkgs.qogir-icon-theme; name = "Qogir-dark"; diff --git a/modules/hm/helix.nix b/modules/hm/helix.nix index 50bc6e0..b91302d 100644 --- a/modules/hm/helix.nix +++ b/modules/hm/helix.nix @@ -15,7 +15,6 @@ }; programs.helix = { enable = true; - package = pkgs.unstable_pkgs.helix; languages.language = [ { name = "nix"; diff --git a/modules/hm/hyprland.nix b/modules/hm/hyprland.nix index 8e2b149..4e0fb41 100644 --- a/modules/hm/hyprland.nix +++ b/modules/hm/hyprland.nix @@ -1,6 +1,9 @@ { nixosConfig, pkgs, ... }: +with nixosConfig.nix-rice.lib; +let + strPalette = palette.toRgbaShortHex nixosConfig.nix-rice.rice.colorPalette; +in { - imports = [ ./kitty.nix ./nautilus.nix @@ -26,7 +29,7 @@ swaylock swww # walker - way-lockscreen + wl-lockscreen waybar wl-clipboard wl-clipedit @@ -50,259 +53,255 @@ }; xdg.configFile."hypr/hyprland.conf" = { - text = - let - strPalette = pkgs.lib.nix-rice.palette.toRgbaShortHex pkgs.rice.colorPalette; - in - '' - # - # Please note not all available settings / options are set here. - # For a full list, see the wiki - # + text = '' + # + # Please note not all available settings / options are set here. + # For a full list, see the wiki + # - # See https://wiki.hyprland.org/Configuring/Monitors/ - # monitor=name,resolution,position,scale - monitor=,preferred,auto,auto - monitor=Unknown-1,disable - ${ - if nixosConfig.networking.hostName == "thor" then - '' - monitor=DP-3,preferred,1080x420,auto - monitor=HDMI-A-1,preferred,0x0,auto,transform,3 - '' - else if nixosConfig.networking.hostName == "odin" then - '' - monitor=eDP-1,preferred,320x1440,1 - monitor=DP-1,preferred,0x0,1 - '' - else - "" + # See https://wiki.hyprland.org/Configuring/Monitors/ + # monitor=name,resolution,position,scale + monitor=,preferred,auto,auto + monitor=Unknown-1,disable + ${ + if nixosConfig.networking.hostName == "thor" then + '' + monitor=DP-3,preferred,1080x420,auto + monitor=HDMI-A-1,preferred,0x0,auto,transform,3 + '' + else if nixosConfig.networking.hostName == "odin" then + '' + monitor=eDP-1,preferred,320x1440,1 + monitor=DP-1,preferred,0x0,1 + '' + else + "" + } + + + # See https://wiki.hyprland.org/Configuring/Keywords/ for more + + # Execute your favorite apps at launch + exec-once = ${ + if nixosConfig.networking.hostName == "thor" then "xrandr --output DP-2 --primary" else "true" + } & swww init & nm-applet & blueman-applet & systemctl --user start hyprland-login.target + + # Source a file (multi-file configs) + # source = ~/.config/hypr/myColors.conf + + # Some default env vars. + env = XCURSOR_SIZE,24 + + # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ + input { + kb_layout = ${if nixosConfig.networking.hostName == "thor" then "us,it,us" else "it,us,us"} + kb_variant = ,,colemak + kb_model = + kb_options = grp:menu_toggle,compose:rctrl + kb_rules = + numlock_by_default = true + + follow_mouse = 2 + + touchpad { + natural_scroll = yes + } + + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. + } + + $LAPTOP_KEYBOARD_ENABLED = true + device { + name = at-translated-set-2-keyboard + enabled = $LAPTOP_KEYBOARD_ENABLED + } + + device { + name=keychron-k1-max-keyboard + kb_layout=us + } + + device { + name=keychron-k1-max-keyboard-2 + kb_layout=us + } + + general { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + gaps_in = 1 + gaps_out = 2 + border_size = 2 + col.active_border = rgba(${strPalette.normal.yellow}) rgba(${strPalette.normal.red}) 45deg + col.inactive_border = rgba(${strPalette.bright.black}) + + layout = dwindle } + misc { + disable_hyprland_logo = true + } - # See https://wiki.hyprland.org/Configuring/Keywords/ for more + decoration { + # See https://wiki.hyprland.org/Configuring/Variables/ for more - # Execute your favorite apps at launch - exec-once = ${ - if nixosConfig.networking.hostName == "thor" then "xrandr --output DP-2 --primary" else "true" - } & swww init & nm-applet & blueman-applet & systemctl --user start hyprland-login.target + rounding = 10 - # Source a file (multi-file configs) - # source = ~/.config/hypr/myColors.conf - - # Some default env vars. - env = XCURSOR_SIZE,24 - - # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ - input { - kb_layout = ${if nixosConfig.networking.hostName == "thor" then "us,it,us" else "it,us,us"} - kb_variant = ,,colemak - kb_model = - kb_options = grp:menu_toggle,compose:rctrl - kb_rules = - numlock_by_default = true - - follow_mouse = 2 - - touchpad { - natural_scroll = yes - } - - sensitivity = 0 # -1.0 - 1.0, 0 means no modification. - } - - $LAPTOP_KEYBOARD_ENABLED = true - device { - name = at-translated-set-2-keyboard - enabled = $LAPTOP_KEYBOARD_ENABLED - } - - device { - name=keychron-k1-max-keyboard - kb_layout=us - } - - device { - name=keychron-k1-max-keyboard-2 - kb_layout=us - } - - general { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - - gaps_in = 1 - gaps_out = 2 - border_size = 2 - col.active_border = rgba(${strPalette.normal.yellow}) rgba(${strPalette.normal.red}) 45deg - col.inactive_border = rgba(${strPalette.bright.black}) - - layout = dwindle + blur { + enabled = true + size = 3 + passes = 1 + new_optimizations = true } - misc { - disable_hyprland_logo = true - } + drop_shadow = yes + shadow_range = 4 + shadow_render_power = 3 + col.shadow = rgba(1a1a1aee) + } - decoration { - # See https://wiki.hyprland.org/Configuring/Variables/ for more + animations { + enabled = yes - rounding = 10 + # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more - blur { - enabled = true - size = 3 - passes = 1 - new_optimizations = true - } + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 - drop_shadow = yes - shadow_range = 4 - shadow_render_power = 3 - col.shadow = rgba(1a1a1aee) - } + 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 + } - animations { - enabled = yes + 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 + } - # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more + master { + # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more + new_status = master + } - bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + gestures { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + workspace_swipe = true + } - 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 - } + # Example per-device config + # See https://wiki.hyprland.org/Configuring/Keywords/#executing for more + # device:epic-mouse-v1 { + # sensitivity = -0.5 + # } - 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 - } - - master { - # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more - new_status = master - } - - gestures { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - workspace_swipe = true - } - - # Example per-device config - # See https://wiki.hyprland.org/Configuring/Keywords/#executing for more - # device:epic-mouse-v1 { - # sensitivity = -0.5 - # } - - # Example windowrule v1 - # windowrule = float, ^(kitty)$ - # Example windowrule v2 - # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ - # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more + # Example windowrule v1 + # windowrule = float, ^(kitty)$ + # Example windowrule v2 + # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ + # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more - # See https://wiki.hyprland.org/Configuring/Keywords/ for more - # $mainMod = SUPER + # See https://wiki.hyprland.org/Configuring/Keywords/ for more + # $mainMod = SUPER - # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more - bind = SUPER, RETURN, exec, kitty - bind = SUPER, W, killactive, - bind = SUPER, M, exec, way-lockscreen - bind = SUPER_ALT_L, Q, exit, - bind = SUPER, E, exec, nautilus - bind = SUPER, L, exec, env -u WAYLAND_DISPLAY logseq - bind = SUPER_SHIFT, E, exec, nemo - bind = SUPER, V, togglefloating, - bind = SUPER, SPACE, exec, sirula - bind = SUPER, F, fullscreen, - bind = SUPER, P, pseudo, # dwindle - bind = SUPER, J, togglesplit, # dwindle - bind = SUPER ALT, E, exec, wofi-emoji - bind = SUPER ALT, P, exec, wl-clipedit - bind = SUPER, B, exec, wl-update-background - bind = ,Print, exec, grimblast copy - bind = SHIFT, Print, exec, grimblast copy area + # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more + bind = SUPER, RETURN, exec, kitty + bind = SUPER, W, killactive, + bind = SUPER, M, exec, wl-lockscreen + bind = SUPER_ALT_L, Q, exit, + bind = SUPER, E, exec, nautilus + bind = SUPER, L, exec, env -u WAYLAND_DISPLAY logseq + bind = SUPER_SHIFT, E, exec, nemo + bind = SUPER, V, togglefloating, + bind = SUPER, SPACE, exec, sirula + bind = SUPER, F, fullscreen, + bind = SUPER, P, pseudo, # dwindle + bind = SUPER, J, togglesplit, # dwindle + bind = SUPER ALT, E, exec, wofi-emoji + bind = SUPER ALT, P, exec, wl-clipedit + bind = SUPER, B, exec, wl-update-background + bind = ,Print, exec, grimblast copy + bind = SHIFT, Print, exec, grimblast copy area - # Move focus to relative position - bind = SUPER, left, movefocus, l - bind = SUPER, right, movefocus, r - bind = SUPER, up, movefocus, u - bind = SUPER, down, movefocus, d + # Move focus to relative position + bind = SUPER, left, movefocus, l + bind = SUPER, right, movefocus, r + bind = SUPER, up, movefocus, u + bind = SUPER, down, movefocus, d - # Move window to relative position - bind = SUPER_SHIFT, left, movewindow, l - bind = SUPER_SHIFT, right, movewindow, r - bind = SUPER_SHIFT, up, movewindow, u - bind = SUPER_SHIFT, down, movewindow, d + # Move window to relative position + bind = SUPER_SHIFT, left, movewindow, l + bind = SUPER_SHIFT, right, movewindow, r + bind = SUPER_SHIFT, up, movewindow, u + bind = SUPER_SHIFT, down, movewindow, d - # Switch workspaces with mainMod + [0-9] - bind = SUPER, 1, workspace, 1 - bind = SUPER, 2, workspace, 2 - bind = SUPER, 3, workspace, 3 - bind = SUPER, 4, workspace, 4 - bind = SUPER, 5, workspace, 5 - bind = SUPER, 6, workspace, 6 - bind = SUPER, 7, workspace, 7 - bind = SUPER, 8, workspace, 8 - bind = SUPER, 9, workspace, 9 - bind = SUPER, 0, workspace, 10 + # Switch workspaces with mainMod + [0-9] + bind = SUPER, 1, workspace, 1 + bind = SUPER, 2, workspace, 2 + bind = SUPER, 3, workspace, 3 + bind = SUPER, 4, workspace, 4 + bind = SUPER, 5, workspace, 5 + bind = SUPER, 6, workspace, 6 + bind = SUPER, 7, workspace, 7 + bind = SUPER, 8, workspace, 8 + bind = SUPER, 9, workspace, 9 + bind = SUPER, 0, workspace, 10 - # Move active window to a workspace with mainMod + SHIFT + [0-9] - bind = SUPER SHIFT, 1, movetoworkspace, 1 - bind = SUPER SHIFT, 2, movetoworkspace, 2 - bind = SUPER SHIFT, 3, movetoworkspace, 3 - bind = SUPER SHIFT, 4, movetoworkspace, 4 - bind = SUPER SHIFT, 5, movetoworkspace, 5 - bind = SUPER SHIFT, 6, movetoworkspace, 6 - bind = SUPER SHIFT, 7, movetoworkspace, 7 - bind = SUPER SHIFT, 8, movetoworkspace, 8 - bind = SUPER SHIFT, 9, movetoworkspace, 9 - bind = SUPER SHIFT, 0, movetoworkspace, 10 + # Move active window to a workspace with mainMod + SHIFT + [0-9] + bind = SUPER SHIFT, 1, movetoworkspace, 1 + bind = SUPER SHIFT, 2, movetoworkspace, 2 + bind = SUPER SHIFT, 3, movetoworkspace, 3 + bind = SUPER SHIFT, 4, movetoworkspace, 4 + bind = SUPER SHIFT, 5, movetoworkspace, 5 + bind = SUPER SHIFT, 6, movetoworkspace, 6 + bind = SUPER SHIFT, 7, movetoworkspace, 7 + bind = SUPER SHIFT, 8, movetoworkspace, 8 + bind = SUPER SHIFT, 9, movetoworkspace, 9 + bind = SUPER SHIFT, 0, movetoworkspace, 10 - # Move workspace to monitor with mainMod + SHIFT + CTRL + [0-9] - bind = SUPER SHIFT CTRL, 1, movecurrentworkspacetomonitor, 0 - bind = SUPER SHIFT CTRL, 2, movecurrentworkspacetomonitor, 1 - bind = SUPER SHIFT CTRL, 3, movecurrentworkspacetomonitor, 2 - bind = SUPER SHIFT CTRL, 4, movecurrentworkspacetomonitor, 3 - bind = SUPER SHIFT CTRL, 5, movecurrentworkspacetomonitor, 4 - bind = SUPER SHIFT CTRL, 6, movecurrentworkspacetomonitor, 5 - bind = SUPER SHIFT CTRL, 7, movecurrentworkspacetomonitor, 6 - bind = SUPER SHIFT CTRL, 8, movecurrentworkspacetomonitor, 7 - bind = SUPER SHIFT CTRL, 9, movecurrentworkspacetomonitor, 8 - bind = SUPER SHIFT CTRL, 0, movecurrentworkspacetomonitor, 9 + # Move workspace to monitor with mainMod + SHIFT + CTRL + [0-9] + bind = SUPER SHIFT CTRL, 1, movecurrentworkspacetomonitor, 0 + bind = SUPER SHIFT CTRL, 2, movecurrentworkspacetomonitor, 1 + bind = SUPER SHIFT CTRL, 3, movecurrentworkspacetomonitor, 2 + bind = SUPER SHIFT CTRL, 4, movecurrentworkspacetomonitor, 3 + bind = SUPER SHIFT CTRL, 5, movecurrentworkspacetomonitor, 4 + bind = SUPER SHIFT CTRL, 6, movecurrentworkspacetomonitor, 5 + bind = SUPER SHIFT CTRL, 7, movecurrentworkspacetomonitor, 6 + bind = SUPER SHIFT CTRL, 8, movecurrentworkspacetomonitor, 7 + bind = SUPER SHIFT CTRL, 9, movecurrentworkspacetomonitor, 8 + bind = SUPER SHIFT CTRL, 0, movecurrentworkspacetomonitor, 9 - bind = ALT, Tab, cyclenext - bind = ALT SHIFT, Tab, cyclenext, prev + bind = ALT, Tab, cyclenext + bind = ALT SHIFT, Tab, cyclenext, prev - # Scroll through existing workspaces with mainMod + scroll - bind = SUPER, mouse_down, workspace, e+1 - bind = SUPER, mouse_up, workspace, e-1 + # Scroll through existing workspaces with mainMod + scroll + bind = SUPER, mouse_down, workspace, e+1 + bind = SUPER, mouse_up, workspace, e-1 - # Move/resize windows with mainMod + LMB/RMB and dragging - bindm = SUPER, mouse:272, movewindow - bindm = SUPER, mouse:273, resizewindow + # Move/resize windows with mainMod + LMB/RMB and dragging + bindm = SUPER, mouse:272, movewindow + bindm = SUPER, mouse:273, resizewindow - bindel=, XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%+ - bindel=, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%- - bindl=, XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle - bind = SUPER ALT, M, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle + bindel=, XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%+ + bindel=, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%- + bindl=, XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle + bind = SUPER ALT, M, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle - bind = , XF86AudioNext, exec, playerctl next - bind = , XF86AudioPlay, exec, playerctl play-pause - bind = , XF86AudioPrev, exec, playerctl previous - bind = SUPER ALT, Right, exec, playerctl next - bind = SUPER ALT, Down, exec, playerctl play-pause - bind = SUPER ALT, Left, exec, playerctl previous + bind = , XF86AudioNext, exec, playerctl next + bind = , XF86AudioPlay, exec, playerctl play-pause + bind = , XF86AudioPrev, exec, playerctl previous + bind = SUPER ALT, Right, exec, playerctl next + bind = SUPER ALT, Down, exec, playerctl play-pause + bind = SUPER ALT, Left, exec, playerctl previous - bind = , XF86PowerOff, exec, wlogout + bind = , XF86PowerOff, exec, wlogout - bind = , XF86MonBrightnessUp, exec, brillo -A 10 - bind = , XF86MonBrightnessDown, exec, brillo -U 10 - ''; + bind = , XF86MonBrightnessUp, exec, brillo -A 10 + bind = , XF86MonBrightnessDown, exec, brillo -U 10 + ''; }; } diff --git a/modules/hm/joshuto.nix b/modules/hm/joshuto.nix index 3294b77..d7182df 100644 --- a/modules/hm/joshuto.nix +++ b/modules/hm/joshuto.nix @@ -5,7 +5,7 @@ in { # TODO: switch to module on next release - home.packages = [ pkgs.unstable_pkgs.joshuto ]; + home.packages = [ pkgs.joshuto ]; home.shellAliases."fm" = "joshuto --change-directory"; xdg.configFile = { diff --git a/modules/hm/kakoune.nix b/modules/hm/kakoune.nix index 1e60bb8..bdc9372 100644 --- a/modules/hm/kakoune.nix +++ b/modules/hm/kakoune.nix @@ -1,5 +1,7 @@ -{ pkgs, ... }: +{ pkgs, nixosConfig, ... }: +with nixosConfig.nix-rice.lib; let + inherit (nixosConfig.nix-rice) rice; themeBuilder = palette: with palette; '' set-face global value rgb:${normal.magenta},default @@ -275,7 +277,7 @@ in # THEME FILE xdg.configFile."kak/colors/nord.kak".text = themeBuilder ( - pkgs.lib.nix-rice.palette.toRgbShortHex pkgs.rice.colorPalette + palette.toRgbShortHex rice.colorPalette ); xdg.configFile."kak-lsp/kak-lsp.toml".text = '' diff --git a/modules/hm/kitty.nix b/modules/hm/kitty.nix index 739a98b..a79fcad 100644 --- a/modules/hm/kitty.nix +++ b/modules/hm/kitty.nix @@ -1,7 +1,9 @@ -{ pkgs, ... }: +{ nixosConfig, ... }: +with nixosConfig.nix-rice.lib; let - strPalette = pkgs.lib.nix-rice.palette.toRgbHex { - inherit (pkgs.rice.colorPalette) + inherit (nixosConfig.nix-rice) rice; + strPalette = palette.toRgbHex { + inherit (rice.colorPalette) background foreground color0 @@ -31,7 +33,7 @@ in enable_audio_bell = false; visual_bell_duration = toString 0.1; update_check_interval = 0; - background_opacity = toString pkgs.rice.opacity; + background_opacity = toString rice.opacity; close_on_child_death = "yes"; clipboard_control = "write-clipboard write-primary read-clipboard read-primary"; disable_ligatures = "never"; @@ -44,6 +46,6 @@ in "ctrl+shift+up" = "previous_window"; "ctrl+shift+down" = "next_window"; }; - font = pkgs.rice.font.monospace; + font = rice.font.monospace; }; } diff --git a/modules/hm/mangohud.nix b/modules/hm/mangohud.nix index 463f75f..ac5e332 100644 --- a/modules/hm/mangohud.nix +++ b/modules/hm/mangohud.nix @@ -1,6 +1,8 @@ -{ pkgs, ... }: +{ nixosConfig, ... }: +with nixosConfig.nix-rice.lib; let - strPalette = pkgs.lib.nix-rice.palette.toRgbShortHex pkgs.rice.colorPalette; + inherit (nixosConfig.nix-rice) rice; + strPalette = palette.toRgbShortHex rice.colorPalette; in { programs.mangohud = { diff --git a/modules/hm/nix-index.nix b/modules/hm/nix-index.nix index 61f1fc5..c38d223 100644 --- a/modules/hm/nix-index.nix +++ b/modules/hm/nix-index.nix @@ -1,7 +1,6 @@ { programs.nix-index = { enable = true; - # package = pkgs.unstable_pkgs.nix-index; enableBashIntegration = true; enableZshIntegration = true; }; diff --git a/modules/hm/polybar.nix b/modules/hm/polybar.nix index 93d76d7..6457985 100644 --- a/modules/hm/polybar.nix +++ b/modules/hm/polybar.nix @@ -4,9 +4,9 @@ , lib , ... }: +with nixosConfig.nix-rice.lib; let - inherit (pkgs.rice) colorPalette opacity; - inherit (pkgs.lib) nix-rice; + inherit (nixosConfig.nix-rice.rice) colorPalette opacity; alpha = 255 * opacity; grep = "${pkgs.gnugrep}/bin/grep"; cut = "${pkgs.coreutils}/bin/cut"; @@ -62,27 +62,27 @@ let }" zsh -c 'rofi -show menu -modi "menu:rofi-power-menu --choices=shutdown/reboot/hibernate/logout"' ''; - colors = nix-rice.palette.toARGBHex rec { + colors = palette.toARGBHex rec { normal = { - foreground = nix-rice.color.darken 10 colorPalette.foreground; - background = nix-rice.color.setAlphaRgba alpha colorPalette.background; + foreground = color.darken 10 colorPalette.foreground; + background = color.setAlphaRgba alpha colorPalette.background; underline = colorPalette.normal.blue; }; active = { inherit (colorPalette) foreground; - background = nix-rice.color.setAlphaRgba alpha colorPalette.background; + background = color.setAlphaRgba alpha colorPalette.background; underline = colorPalette.normal.yellow; }; selected = { inherit (colorPalette) foreground; - background = nix-rice.color.setAlphaRgba alpha colorPalette.background; + background = color.setAlphaRgba alpha colorPalette.background; underline = colorPalette.bright.red; }; inherit (colorPalette.normal) green red yellow; - inherit (nix-rice.color) transparent; + inherit (color) transparent; orange = colorPalette.bright.red; alert = orange; }; @@ -110,29 +110,22 @@ let bottom.size = 0; }; font = [ - "${pkgs.rice.font.monospace.name}:size=${toString pkgs.rice.font.monospace.size};2" + "${rice.font.monospace.name}:size=${toString rice.font.monospace.size};2" # "Font Awesome 6 Free:size=14;0" # "Noto Color Emoji:size=2;2" - "Noto Sans Symbols2:size=${toString pkgs.rice.font.monospace.size};2" - "Material Design Icons:size=${toString pkgs.rice.font.monospace.size};2" - # "EmojiOne Color:size=${toString pkgs.rice.font.monospace.size};0" - "Noto Sans CJK JP:size=${toString pkgs.rice.font.monospace.size};0" - "Noto Sans CJK KR:size=${toString pkgs.rice.font.monospace.size};0" - "Noto Sans CJK CN:size=${toString pkgs.rice.font.monospace.size};0" - "Noto Sans CJK HK:size=${toString pkgs.rice.font.monospace.size};0" + "Noto Sans Symbols2:size=${toString rice.font.monospace.size};2" + "Material Design Icons:size=${toString rice.font.monospace.size};2" + # "EmojiOne Color:size=${toString rice.font.monospace.size};0" + "Noto Sans CJK JP:size=${toString rice.font.monospace.size};0" + "Noto Sans CJK KR:size=${toString rice.font.monospace.size};0" + "Noto Sans CJK CN:size=${toString rice.font.monospace.size};0" + "Noto Sans CJK HK:size=${toString rice.font.monospace.size};0" ]; enable-ipc = true; wm-restack = "bspwm"; }; - ramp = [ - "▂" - "▃" - "▄" - "▅" - "▆" - "▇" - ]; + ramp = [ "▂" "▃" "▄" "▅" "▆" "▇" ]; in { home.packages = builtins.attrValues { @@ -140,7 +133,7 @@ in # emojione # noto-fonts-emoji # font-awesome - inherit (pkgs.rice.font.monospace) package; + inherit (rice.font.monospace) package; }; services.polybar = { enable = true; diff --git a/modules/hm/pro_audio.nix b/modules/hm/pro_audio.nix index 7590b7f..a3c45bb 100644 --- a/modules/hm/pro_audio.nix +++ b/modules/hm/pro_audio.nix @@ -14,44 +14,42 @@ in { home.packages = builtins.attrValues { inherit (pkgs) - ardour - breeze-icons - carla - mixxx - rnnoise - #mamba - # zrythm - # Plugins - aeolus - artyFX - autotalent - boops - calf - cardinal - fluidsynth - geonkick - giada - lsp-plugins - samplv1 - sfizz - surge - surge-XT - talentedhack - vocproc - x42-plugins - zita-at1 - zyn-fusion - zynaddsubfx # helm # noise-repellent # speech-denoiser # stochas # sunvox # tunefish + # zrythm + #mamba + aeolus + ardour + artyFX + autotalent + boops + breeze-icons + calf + cardinal + carla + fluidsynth + geonkick + giada + lsp-plugins + mixxx + rnnoise + samplv1 + sfizz + surge + surge-XT + talentedhack + vital + vocproc + x42-plugins + zita-at1 + zyn-fusion + zynaddsubfx ; - - inherit (pkgs.unstable_pkgs) vital; }; home.sessionVariables = variables; diff --git a/modules/hm/pycharm.nix b/modules/hm/pycharm.nix index 8d2aec5..ab833c5 100644 --- a/modules/hm/pycharm.nix +++ b/modules/hm/pycharm.nix @@ -2,6 +2,6 @@ { home.packages = builtins.attrValues { inherit (pkgs) python3; - inherit (pkgs.unstable_pkgs.jetbrains) pycharm-professional jdk; + inherit (pkgs.jetbrains) pycharm-professional jdk; }; } diff --git a/modules/hm/rofi.nix b/modules/hm/rofi.nix index 661ba85..90bf15c 100644 --- a/modules/hm/rofi.nix +++ b/modules/hm/rofi.nix @@ -1,4 +1,8 @@ -{ pkgs, ... }: +{ pkgs, nixosConfig, ... }: +with nixosConfig.nix-rice.lib; +let + inherit (nixosConfig.nix-rice) rice; +in { home.packages = builtins.attrValues { @@ -14,7 +18,7 @@ programs.rofi = { enable = true; location = "center"; - font = "${pkgs.rice.font.monospace.name} ${toString pkgs.rice.font.monospace.size}"; + font = "${rice.font.monospace.name} ${toString rice.font.monospace.size}"; plugins = [ pkgs.rofi-calc ]; extraConfig = { modi = "drun,run,ssh,window,calc"; diff --git a/modules/hm/swayidle.nix b/modules/hm/swayidle.nix index 751ec88..f16631f 100644 --- a/modules/hm/swayidle.nix +++ b/modules/hm/swayidle.nix @@ -7,11 +7,11 @@ events = [ { event = "before-sleep"; - command = "${pkgs.way-lockscreen}/bin/way-lockscreen"; + command = "${pkgs.wl-lockscreen}/bin/wl-lockscreen"; } { event = "lock"; - command = "${pkgs.way-lockscreen}/bin/way-lockscreen"; + command = "${pkgs.wl-lockscreen}/bin/wl-lockscreen"; } ]; timeouts = [ @@ -22,7 +22,7 @@ } { timeout = 120; - command = "${pkgs.brillo}/bin/brillo -e -S 0; ${pkgs.way-lockscreen}/bin/way-lockscreen"; + command = "${pkgs.brillo}/bin/brillo -e -S 0; ${pkgs.wl-lockscreen}/bin/wl-lockscreen"; resumeCommand = "${pkgs.brillo}/bin/brillo -e -S 100"; } ]; diff --git a/modules/hm/sxhkd.nix b/modules/hm/sxhkd.nix deleted file mode 100644 index 509ced5..0000000 --- a/modules/hm/sxhkd.nix +++ /dev/null @@ -1,131 +0,0 @@ -{ pkgs, lib, ... }: -{ - imports = [ - # ./alacritty.nix - ./kitty.nix - # ./nautilus.nix - ./nemo.nix - ./terminator.nix - # ./thunar.nix - ./yazi.nix - ]; - home.packages = builtins.attrValues { - inherit (pkgs) - bc# required by bsp-layout - bsp-layout - clipedit - lockscreen - terminator - ; - }; - services.sxhkd = - let - primaryTerminal = "kitty"; - secondaryTerminal = "terminator"; - fileManager = - let - ya = pkgs.writeShellScript "ya" '' - tmp="$(mktemp -t "yazi-cwd.XXXXX")" - yazi --cwd-file="$tmp" - if cwd="$(cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then - cd -- "$cwd" - fi - rm -f -- "$tmp" - ''; - in - "kitty -e bash ${ya}"; - secondaryFileManager = "nemo"; - emojiChooser = "rofimoji --skin-tone light -a copy"; - windowSwitcher = "rofi -show window"; - - arandr = "${pkgs.arandr}/bin/arandr"; - passwordChoser = "rofi-rbw"; - notify = "${pkgs.libnotify}/bin/notify-send"; - pamixer = "${pkgs.pamixer}/bin/pamixer"; - playerctl = "${pkgs.playerctl}/bin/playerctl"; - xbacklight = "${pkgs.xorg.xbacklight}/bin/xbacklight"; - resetBspwm = pkgs.writeShellScript "resetBspwm" '' - bspc wm -r - for p in {top,bottom,left,right}; do bspc config -m any ''${p}_padding 0; done # Reset padding - systemctl --user restart polybar # Restart polybar - ${notify} "BSPWM restarted" - ''; - moveAllNodesToPrimary = pkgs.writeShellScript "moveAllNodesToPrimary" '' - comm -23 <(bspc query -N | sort) <(bspc query -m primary -N | sort) | while read n; do bspc node $n -m primary; done - ''; - notifyVolume = pkgs.writeShellScript "notifyVolume" '' - PATH=$PATH:"${ - lib.makeBinPath [ - pkgs.coreutils - pkgs.pamixer - ] - }" - sink=`pamixer --get-default-sink | tail -n 1| sed -E 's/.+"(.+)"$/\1/'` - muted=`pamixer --get-mute` - volume=`pamixer --get-volume` - if [[ $muted == "true" ]]; then - ${notify} -r 1 -h "int:value:0" "Muted" "$sink" - else - ${notify} -r 1 -h "int:value:$volume" "Volume $volume%" "$sink" - fi - ''; - notifyBrightness = pkgs.writeShellScript "notifyBrightness" '' - level=`printf "%.0f" $(${xbacklight} -get)` - ${notify} -r 2 -h "int:value:$level" "Luminosità $level" - ''; - powermenu = pkgs.writeShellScript "powermenu" '' - PATH=$PATH:"${ - lib.makeBinPath [ - pkgs.rofi - pkgs.rofi-power-menu - ] - }" - rofi -show menu -modi "menu:rofi-power-menu --choices=shutdown/reboot/hibernate/logout" - ''; - in - { - enable = true; - keybindings = { - "{,shift+}Print" = "${pkgs.gnome-screenshot}/bin/gnome-screenshot {-i,-a}"; - "XF86Audio{LowerVolume,Mute,RaiseVolume}" = "${pamixer} {-d 2 -u,-t,-i 2 -u} && ${notifyVolume}"; - "XF86Audio{Next,Play,Prev}" = "${playerctl} {next,play-pause,previous}"; - "XF86MonBrightness{Up,Down}" = "${xbacklight} -{inc,dec} 10 && ${notifyBrightness}"; - "XF86PowerOff" = toString powermenu; - "alt + Tab" = windowSwitcher; - "button10" = windowSwitcher; - "super + Escape" = "pkill -USR1 -x sxhkd"; - "super + alt + e" = emojiChooser; - "super + alt + i" = passwordChoser; - "super + alt + m" = "lockscreen"; - "super + alt + o" = "${moveAllNodesToPrimary}"; - "super + alt + p" = "${arandr}"; - "super + alt + r" = "${resetBspwm}"; - "super + alt + shift + {h,j,k,l}" = "bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}"; - "super + alt + {Right,Down,Left}" = "${playerctl} {next,play-pause,previous}"; - "super + alt + {h,j,k,l}" = "bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}"; - "super + b" = "${pkgs.update-background}/bin/update-background"; - "super + bracket{left,right}" = "bspc desktop -f {prev,next}.local"; - "super + ctrl + shift + space" = "bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel"; - "super + ctrl + space" = "bspc node -p cancel"; - "super + ctrl + {1-9}" = "bspc node -o 0.{1-9}"; - "super + ctrl + {h,j,k,l}" = "bspc node -p {west,south,north,east}"; - "super + e {_,+shift}" = "{${fileManager},${secondaryFileManager}}"; - "super + g" = "bspc node -s biggest"; - "super + m" = "bspc desktop -l next"; - "super + n {_, + shift}" = "bsp-layout {next, previous}"; - "super + shift + ctrl + d" = "rofi -show ssh"; - "super + shift + p" = "clipedit"; - "super + shift + {a,d}" = "bspc node @/ -C {forward,backward}"; - "super + shift + {h,j,k,l}" = ''dir={west,south,north,east}; bspc node -s "$dir.local" --follow || bspc node -m "$dir" --follow''; - "super + {Left,Down,Up,Right}" = "bspc node -v {-20 0,0 20,0 -20,20 0}"; - "super + {_,shift + } Return" = "{${primaryTerminal} , ${secondaryTerminal}}"; - "super + {_,shift + } c" = "bspc node -f {next,prev}.local"; - "super + {_,shift + } space" = "rofi -show {drun,run}"; - "super + {_,shift + } w" = "bspc node -{c,k}"; - "super + {_,shift + }{1-9,0}" = "bspc {desktop -f,node -d} 'focused:^{1-9,10}'"; - "super + {h,j,k,l}" = "dir={west,south,north,east}; bspc node -f $dir || bspc monitor -f $dir"; - "super + {o,i}" = "bspc wm -h off;bspc node {older,newer} -f;bspc wm -h on"; - "super + {t,shift + t,s,f}" = "bspc node -t {tiled,pseudo_tiled,floating,fullscreen}"; - }; - }; -} diff --git a/modules/hm/terminator.nix b/modules/hm/terminator.nix index d0dd672..c142741 100644 --- a/modules/hm/terminator.nix +++ b/modules/hm/terminator.nix @@ -1,11 +1,13 @@ -{ pkgs, ... }: +{ pkgs, nixosConfig, ... }: +with nixosConfig.nix-rice.lib; let - strPalette = pkgs.lib.nix-rice.palette.toRgbHex { - inherit (pkgs.rice.colorPalette) normal bright dark; - inherit (pkgs.rice.colorPalette.primary) background foreground; + inherit (nixosConfig.nix-rice) rice; + strPalette = palette.toRgbHex { + inherit (rice.colorPalette) normal bright dark; + inherit (rice.colorPalette.primary) background foreground; }; - opacity = toString pkgs.rice.opacity; - font = pkgs.rice.font.monospace; + opacity = toString rice.opacity; + font = rice.font.monospace; colorString = normal: bright: builtins.concatStringsSep ":" [ diff --git a/modules/hm/twmn.nix b/modules/hm/twmn.nix index bdd24e7..8051407 100644 --- a/modules/hm/twmn.nix +++ b/modules/hm/twmn.nix @@ -1,7 +1,9 @@ -{ pkgs, ... }: +{ nixosConfig, ... }: +with nixosConfig.nix-rice.lib; let - strPalette = pkgs.lib.nix-rice.palette.toRGBHex pkgs.rice.colorPalette; - font = pkgs.rice.font.normal; + inherit (nixosConfig.nix-rice) rice; + strPalette = palette.toRGBHex rice.colorPalette; + font = rice.font.normal; in { services.twmn = { @@ -17,7 +19,7 @@ in animation.bounce.enable = false; color = strPalette.primary.background; height = 32; - opacity = pkgs.lib.nix-rice.float.round (pkgs.rice.opacity * 100); + opacity = float.round (rice.opacity * 100); offset = { x = -20; y = 50; diff --git a/modules/hm/waybar.nix b/modules/hm/waybar.nix index 3ddf660..fbeb320 100644 --- a/modules/hm/waybar.nix +++ b/modules/hm/waybar.nix @@ -1,17 +1,17 @@ -{ pkgs, ... }: +{ pkgs, nixosConfig, ... }: +with nixosConfig.nix-rice.lib; let - inherit (pkgs.rice) colorPalette; - inherit (pkgs.lib) nix-rice; + inherit (nixosConfig.nix-rice.rice) colorPalette font; alpha = 0.9; - custom = nix-rice.palette.toRGBHex { + custom = palette.toRGBHex { inherit (colorPalette.primary) background foreground; - alpha_background = nix-rice.color.setAlphaRgba alpha colorPalette.primary.background; + alpha_background = color.setAlphaRgba alpha colorPalette.primary.background; primary_accent = colorPalette.normal.blue; secondary_accent = colorPalette.normal.cyan; tertiary_accent = colorPalette.primary.yellow; palette = { primary_background_rgba = colorPalette.primary.background; - tertiary_background_hex = nix-rice.color.setAlphaRgba alpha colorPalette.primary.background; + tertiary_background_hex = color.setAlphaRgba alpha colorPalette.primary.background; }; }; swaync-client = "${pkgs.swaynotificationcenter}/bin/swaync-client"; @@ -184,7 +184,7 @@ in * { border: none; border-radius: 0px; - font-family: ${pkgs.rice.font.monospace.name}; + font-family: ${font.monospace.name}; font-size: 10px; min-height: 0; } diff --git a/modules/hm/wl_update_background.nix b/modules/hm/wl_update_background.nix index 3d59611..0ab50e5 100644 --- a/modules/hm/wl_update_background.nix +++ b/modules/hm/wl_update_background.nix @@ -1,20 +1,5 @@ -{ pkgs, ... }: -let - update_time = "10m"; - backgrounds_directory = "$HOME/Immagini/Sfondi/1080+/1440+"; - update_script = pkgs.writeShellScriptBin "wl-update-background" '' - set -e - if [ $# -eq 0 ]; then - image=`${pkgs.findutils}/bin/find ${backgrounds_directory} -type f | ${pkgs.gnugrep}/bin/grep -v "/\." | ${pkgs.coreutils}/bin/shuf -n 1` - else - image="$1" - fi - echo "image: $image" - ${pkgs.swww}/bin/swww img "$image" - ''; -in -{ - home.packages = [ update_script ]; +{ pkgs, ... }: { + home.packages = [ pkgs.wl-update-background ]; systemd.user.services."wl-update-background" = { Unit = { @@ -29,7 +14,7 @@ in Service = { Type = "oneshot"; IOSchedulingClass = "idle"; - ExecStart = "${update_script}/bin/wl-update-background"; + ExecStart = "${pkgs.wl-update-background}/bin/wl-update-background"; }; }; @@ -38,7 +23,7 @@ in Description = "Set random desktop background using swww"; }; Timer = { - OnUnitActiveSec = update_time; + OnUnitActiveSec = "10m"; }; Install = { WantedBy = [ "timers.target" ]; diff --git a/modules/hm/xresources.nix b/modules/hm/xresources.nix index f7aae2b..7228a96 100644 --- a/modules/hm/xresources.nix +++ b/modules/hm/xresources.nix @@ -1,8 +1,8 @@ -{ pkgs, ... }: +{ pkgs, nixosConfig, ... }: +with nixosConfig.nix-rice.lib; let - strPalette = pkgs.lib.nix-rice.palette.toRgbHex { - inherit (pkgs.rice.colorPalette) normal bright primary; - }; + inherit (nixosConfig.nix-rice) rice; + strPalette = palette.toRgbHex rice.colorPalette; in { home.file.".Xresources" = { @@ -30,8 +30,8 @@ in *.color14: ${strPalette.bright.cyan} *.color15: ${strPalette.bright.white} - xterm*faceName: ${pkgs.rice.font.monospace.name} - xterm*faceSize: ${toString pkgs.rice.font.monospace.size} + xterm*faceName: ${rice.font.monospace.name} + xterm*faceSize: ${toString rice.font.monospace.size} ''; onChange = "${pkgs.xorg.xrdb}/bin/xrdb -merge ~/.Xresources "; }; diff --git a/modules/hm/yazi.nix b/modules/hm/yazi.nix index 0cb2950..53d6299 100644 --- a/modules/hm/yazi.nix +++ b/modules/hm/yazi.nix @@ -15,7 +15,6 @@ enable = true; enableBashIntegration = true; enableZshIntegration = true; - package = pkgs.unstable_pkgs.yazi; settings = { manager = { sort_by = "natural"; diff --git a/modules/hm/zathura.nix b/modules/hm/zathura.nix index 363156c..8d10774 100644 --- a/modules/hm/zathura.nix +++ b/modules/hm/zathura.nix @@ -1,6 +1,8 @@ -{ pkgs, ... }: +{ nixosConfig, ... }: +with nixosConfig.nix-rice.lib; let - strPalette = pkgs.lib.nix-rice.palette.toRgbHex pkgs.rice.colorPalette; + inherit (nixosConfig.nix-rice) rice; + strPalette = palette.toRgbHex rice.colorPalette; in { programs.zathura = { @@ -11,7 +13,7 @@ in options = { # completion-bg = strPalette.bright.black; # default-bg = strPalette.normal.black; - font = "${pkgs.rice.font.normal.name} 10"; + font = "${rice.font.normal.name} 10"; # inputbar-bg = strPalette.bright.black; # inputbar-fg = strPalette.normal.cyan; page-padding = 10; @@ -59,6 +61,5 @@ in # recolor = true; recolor-keephue = true; # keep original color }; - }; } diff --git a/modules/hm/zellij.nix b/modules/hm/zellij.nix index ea4aa2a..72919ae 100644 --- a/modules/hm/zellij.nix +++ b/modules/hm/zellij.nix @@ -1,12 +1,10 @@ -{ pkgs, ... }: +{ nixosConfig, ... }: +with nixosConfig.nix-rice.lib; let - strPalette = pkgs.lib.nix-rice.palette.toRgbHex pkgs.rice.colorPalette; + strPalette = palette.toRgbHex nixosConfig.nix-rice.rice.colorPalette; in { - programs.zellij = { - enable = true; - package = pkgs.unstable_pkgs.zellij; - }; + programs.zellij.enable = true; home.shellAliases = { "ze" = "zellij"; diff --git a/modules/nixos/garage.nix b/modules/nixos/garage.nix index 1b02127..93d52ec 100644 --- a/modules/nixos/garage.nix +++ b/modules/nixos/garage.nix @@ -1,5 +1,4 @@ -{ pkgs -, config +{ config , lib , ... }: @@ -26,7 +25,6 @@ }; services.garage = { - package = pkgs.unstable_pkgs.garage; enable = true; settings = { replication_mode = 1; diff --git a/modules/nixos/hyprland.nix b/modules/nixos/hyprland.nix index 5791882..8d3ce92 100644 --- a/modules/nixos/hyprland.nix +++ b/modules/nixos/hyprland.nix @@ -2,7 +2,6 @@ { programs.hyprland = { enable = true; - # package = pkgs.unstable_pkgs.hyprland; # enableNvidiaPatches = builtins.elem "nvidia" config.services.xserver.videoDrivers; # removed in 24.x xwayland.enable = true; }; diff --git a/rice.nix b/modules/nixos/rice.nix similarity index 71% rename from rice.nix rename to modules/nixos/rice.nix index a487a9a..572fefc 100644 --- a/rice.nix +++ b/modules/nixos/rice.nix @@ -1,10 +1,11 @@ -self: super: -with super.lib.nix-rice; +{ pkgs, config, ... }: +with config.nix-rice.lib; let theme = kitty-themes.getThemeByName "Nightfox"; + inherit (config.nix-rice) rice; in { - rice = { + nix-rice.config = { colorPalette = rec { normal = palette.defaultPalette // { black = theme.color0; @@ -36,17 +37,26 @@ in font = { normal = { name = "Cantarell"; - package = self.cantarell-fonts; + package = pkgs.cantarell-fonts; size = 10; }; monospace = { name = "CaskaydiaCove Nerd Font"; - package = self.nerdfonts.override { fonts = [ "CascadiaCode" ]; }; + package = pkgs.nerdfonts.override { fonts = [ "CascadiaCode" ]; }; # name = "FiraCode Nerd Font Mono"; - # package = self.nerdfonts.override { fonts = [ "FiraCode" ]; }; + # package = pkgs.nerdfonts.override { fonts = [ "FiraCode" ]; }; size = 10; }; }; opacity = 0.95; }; + + nixpkgs.overlays = [ + (_self: super: { + wl-lockscreen = super.wl-lockscreen.override { + strPalette = palette.toRgbaShortHex rice.colorPalette; + font = rice.font.normal; + }; + }) + ]; } diff --git a/custom/default.nix b/pkgs/default.nix similarity index 100% rename from custom/default.nix rename to pkgs/default.nix diff --git a/custom/keyboard-switch/default.nix b/pkgs/keyboard-switch/default.nix similarity index 100% rename from custom/keyboard-switch/default.nix rename to pkgs/keyboard-switch/default.nix diff --git a/custom/sddm-sugar-dark/default.nix b/pkgs/sddm-sugar-dark/default.nix similarity index 99% rename from custom/sddm-sugar-dark/default.nix rename to pkgs/sddm-sugar-dark/default.nix index bedd6c1..fbce271 100644 --- a/custom/sddm-sugar-dark/default.nix +++ b/pkgs/sddm-sugar-dark/default.nix @@ -3,7 +3,6 @@ , fetchFromGitHub , sddm , qt5 -, }: stdenv.mkDerivation { pname = "sddm-sugar-dark"; diff --git a/custom/sddm-theme-clairvoyance/default.nix b/pkgs/sddm-theme-clairvoyance/default.nix similarity index 99% rename from custom/sddm-theme-clairvoyance/default.nix rename to pkgs/sddm-theme-clairvoyance/default.nix index 15dc919..0bc4ef8 100644 --- a/custom/sddm-theme-clairvoyance/default.nix +++ b/pkgs/sddm-theme-clairvoyance/default.nix @@ -3,7 +3,6 @@ , fetchFromGitHub , fira-mono , wallpaper ? null -, }: with lib; stdenv.mkDerivation { diff --git a/custom/wl-clipedit/default.nix b/pkgs/wl-clipedit/default.nix similarity index 100% rename from custom/wl-clipedit/default.nix rename to pkgs/wl-clipedit/default.nix diff --git a/custom/way-lockscreen/default.nix b/pkgs/wl-lockscreen/default.nix similarity index 75% rename from custom/way-lockscreen/default.nix rename to pkgs/wl-lockscreen/default.nix index 8e19db0..24b029f 100644 --- a/custom/way-lockscreen/default.nix +++ b/pkgs/wl-lockscreen/default.nix @@ -1,20 +1,14 @@ -{ lib -, rice -, roboto +{ roboto , swaylock , writeScriptBin -, font ? { - package = roboto; - name = "Roboto"; - } , wallpaper ? ../../wallpapers/n8ca4obsys991.png -, palette ? rice.palette.palette { } -, ... -}: -let - strPalette = lib.nix-rice.palette.toRgbaShortHex palette; -in -writeScriptBin "way-lockscreen" '' +, font ? { package = roboto; name = "Roboto"; size = 10; } +, strPalette ? { + primary.background = "000000ff"; + normal = { red = "ff0000ff"; green = "00ff00ff"; black = "000000ff"; }; + bright = { red = "ff1010ff"; green = "10ff10ff"; blue = "1010ffff"; }; + } +}: writeScriptBin "wl-lockscreen" '' # Using font package ${font.package} ${swaylock}/bin/swaylock \ --color "${strPalette.primary.background}" \ diff --git a/pkgs/wl-update-background/default.nix b/pkgs/wl-update-background/default.nix new file mode 100644 index 0000000..54ae7f3 --- /dev/null +++ b/pkgs/wl-update-background/default.nix @@ -0,0 +1,16 @@ +{ findutils +, gnugrep +, coreutils +, writeShellScriptBin +, swww +, backgrounds_directory ? "$HOME/Immagini/Sfondi/1080+/1440+" +}: writeShellScriptBin "wl-update-background" '' + set -e + if [ $# -eq 0 ]; then + image=`${findutils}/bin/find ${backgrounds_directory} -type f | ${gnugrep}/bin/grep -v "/\." | ${coreutils}/bin/shuf -n 1` + else + image="$1" + fi + echo "image: $image" + ${swww}/bin/swww img "$image" +''