diff --git a/README.md b/README.md index 2e1f9c0..b1b0639 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,7 @@ Don't forget to add the `#` to the end of the target to specify the host c ### Spectre +### @@ -53,7 +54,6 @@ TODO - disable root user ``` ## TODO -- Have a wofi power menu with https://github.com/RiteshChepuri/wofi-scripts/blob/main/wofi-power-menu diff --git a/flake.lock b/flake.lock index 0dfaad1..2a1522d 100644 --- a/flake.lock +++ b/flake.lock @@ -20,11 +20,11 @@ ] }, "locked": { - "lastModified": 1749155310, - "narHash": "sha256-t0HfHg/1+TbSra5s6nNM0o4tnb3uqWedShSpZXsUMYY=", + "lastModified": 1755946532, + "narHash": "sha256-POePremlUY5GyA1zfbtic6XLxDaQcqHN6l+bIxdT5gc=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "94981cf75a9f11da0b6dd6a1abbd7c50a36ab2d3", + "rev": "81584dae2df6ac79f6b6dae0ecb7705e95129ada", "type": "github" }, "original": { @@ -38,11 +38,11 @@ "fromYaml": "fromYaml" }, "locked": { - "lastModified": 1745523430, - "narHash": "sha256-EAYWV+kXbwsH+8G/8UtmcunDeKwLwSOyfcmzZUkWE/c=", + "lastModified": 1746562888, + "narHash": "sha256-YgNJQyB5dQiwavdDFBMNKk1wyS77AtdgDk/VtU6wEaI=", "owner": "SenchoPens", "repo": "base16.nix", - "rev": "58bfe2553d937d8af0564f79d5b950afbef69717", + "rev": "806a1777a5db2a1ef9d5d6f493ef2381047f2b89", "type": "github" }, "original": { @@ -70,11 +70,11 @@ "base16-helix": { "flake": false, "locked": { - "lastModified": 1736852337, - "narHash": "sha256-esD42YdgLlEh7koBrSqcT7p2fsMctPAcGl/+2sYJa2o=", + "lastModified": 1748408240, + "narHash": "sha256-9M2b1rMyMzJK0eusea0x3lyh3mu5nMeEDSc4RZkGm+g=", "owner": "tinted-theming", "repo": "base16-helix", - "rev": "03860521c40b0b9c04818f2218d9cc9efc21e7a5", + "rev": "6c711ab1a9db6f51e2f6887cc3345530b33e152e", "type": "github" }, "original": { @@ -103,11 +103,11 @@ "firefox-gnome-theme": { "flake": false, "locked": { - "lastModified": 1743774811, - "narHash": "sha256-oiHLDHXq7ymsMVYSg92dD1OLnKLQoU/Gf2F1GoONLCE=", + "lastModified": 1748383148, + "narHash": "sha256-pGvD/RGuuPf/4oogsfeRaeMm6ipUIznI2QSILKjKzeA=", "owner": "rafaelmardojai", "repo": "firefox-gnome-theme", - "rev": "df53a7a31872faf5ca53dd0730038a62ec63ca9e", + "rev": "4eb2714fbed2b80e234312611a947d6cb7d70caf", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "lastModified": 1747046372, + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", "owner": "edolstra", "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", "type": "github" }, "original": { @@ -132,40 +132,24 @@ "type": "github" } }, - "flake-compat_2": { - "flake": false, - "locked": { - "lastModified": 1733328505, - "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-utils": { + "flake-parts": { "inputs": { - "systems": [ + "nixpkgs-lib": [ "stylix", - "systems" + "nixpkgs" ] }, "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "lastModified": 1749398372, + "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569", "type": "github" }, "original": { - "owner": "numtide", - "repo": "flake-utils", + "owner": "hercules-ci", + "repo": "flake-parts", "type": "github" } }, @@ -185,32 +169,6 @@ "type": "github" } }, - "git-hooks": { - "inputs": { - "flake-compat": [ - "stylix", - "flake-compat" - ], - "gitignore": "gitignore_2", - "nixpkgs": [ - "stylix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1742649964, - "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=", - "owner": "cachix", - "repo": "git-hooks.nix", - "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "git-hooks.nix", - "type": "github" - } - }, "gitignore": { "inputs": { "nixpkgs": [ @@ -233,41 +191,19 @@ "type": "github" } }, - "gitignore_2": { - "inputs": { - "nixpkgs": [ - "stylix", - "git-hooks", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, "gnome-shell": { "flake": false, "locked": { - "lastModified": 1732369855, - "narHash": "sha256-JhUWbcYPjHO3Xs3x9/Z9RuqXbcp5yhPluGjwsdE2GMg=", + "lastModified": 1744584021, + "narHash": "sha256-0RJ4mJzf+klKF4Fuoc8VN8dpQQtZnKksFmR2jhWE1Ew=", "owner": "GNOME", "repo": "gnome-shell", - "rev": "dadd58f630eeea41d645ee225a63f719390829dc", + "rev": "52c517c8f6c199a1d6f5118fae500ef69ea845ae", "type": "github" }, "original": { "owner": "GNOME", - "ref": "47.2", + "ref": "48.1", "repo": "gnome-shell", "type": "github" } @@ -279,11 +215,11 @@ ] }, "locked": { - "lastModified": 1749154018, - "narHash": "sha256-gjN3j7joRvT3a8Zgcylnd4NFsnXeDBumqiu4HmY1RIg=", + "lastModified": 1756679287, + "narHash": "sha256-Xd1vOeY9ccDf5VtVK12yM0FS6qqvfUop8UQlxEB+gTQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "7aae0ee71a17b19708b93b3ed448a1a0952bf111", + "rev": "07fc025fe10487dd80f2ec694f1cd790e752d0e8", "type": "github" }, "original": { @@ -294,28 +230,6 @@ } }, "home-manager_2": { - "inputs": { - "nixpkgs": [ - "stylix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1743808813, - "narHash": "sha256-2lDQBOmlz9ggPxcS7/GvcVdzXMIiT+PpMao6FbLJSr0=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "a9f8b3db211b4609ddd83683f9db89796c7f6ac6", - "type": "github" - }, - "original": { - "owner": "nix-community", - "ref": "release-24.11", - "repo": "home-manager", - "type": "github" - } - }, - "home-manager_3": { "inputs": { "nixpkgs": [ "zen-browser", @@ -323,11 +237,11 @@ ] }, "locked": { - "lastModified": 1743604125, - "narHash": "sha256-ZD61DNbsBt1mQbinAaaEqKaJk2RFo9R/j+eYWeGMx7A=", + "lastModified": 1752603129, + "narHash": "sha256-S+wmHhwNQ5Ru689L2Gu8n1OD6s9eU9n9mD827JNR+kw=", "owner": "nix-community", "repo": "home-manager", - "rev": "180fd43eea296e62ae68e079fcf56aba268b9a1a", + "rev": "e8c19a3cec2814c754f031ab3ae7316b64da085b", "type": "github" }, "original": { @@ -352,11 +266,11 @@ ] }, "locked": { - "lastModified": 1749155331, - "narHash": "sha256-XR9fsI0zwLiFWfqi/pdS/VD+YNorKb3XIykgTg4l1nA=", + "lastModified": 1753964049, + "narHash": "sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM=", "owner": "hyprwm", "repo": "hyprcursor", - "rev": "45fcc10b4c282746d93ec406a740c43b48b4ef80", + "rev": "44e91d467bdad8dcf8bbd2ac7cf49972540980a5", "type": "github" }, "original": { @@ -381,11 +295,11 @@ ] }, "locked": { - "lastModified": 1749238452, - "narHash": "sha256-8qiKEWcxUrjpUpK+WyFNg/72C8rp70LUuyTD23T+SdQ=", + "lastModified": 1756891319, + "narHash": "sha256-/e6OXxzbAj/o97Z1dZgHre4bNaVjapDGscAujSCQSbI=", "owner": "hyprwm", "repo": "hyprgraphics", - "rev": "c7225d73755a6c4c7c72f4d4f3925ea426e325a8", + "rev": "621e2e00f1736aa18c68f7dfbf2b9cff94b8cc4d", "type": "github" }, "original": { @@ -410,11 +324,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1750106438, - "narHash": "sha256-zaTFR6NLaXkveEGl2kdl4UlvT7eHm3cYSbgSkibCO+M=", + "lastModified": 1757423991, + "narHash": "sha256-tL+b6WC4gJJSo6wjNVIZpQ0DsYg8RmoGHxYuk6jJKbU=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "0ece4af36a988ad06b28ed666011d84372d9e4dc", + "rev": "150d693fe794a01aab762a18d2d8a2c8bc54b43c", "type": "github" }, "original": { @@ -503,11 +417,11 @@ ] }, "locked": { - "lastModified": 1749155776, - "narHash": "sha256-t1PM0wxQLQwv2F2AW23uA7pm5giwmcgYEWbNIRct9r4=", + "lastModified": 1753819801, + "narHash": "sha256-tHe6XeNeVeKapkNM3tcjW4RuD+tB2iwwoogWJOtsqTI=", "owner": "hyprwm", "repo": "hyprland-qtutils", - "rev": "396e8aa1c06274835b69da7f9a015fff9a9b7522", + "rev": "b308a818b9dcaa7ab8ccab891c1b84ebde2152bc", "type": "github" }, "original": { @@ -532,11 +446,11 @@ ] }, "locked": { - "lastModified": 1749145882, - "narHash": "sha256-qr0KXeczF8Sma3Ae7+dR2NHhvG7YeLBJv19W4oMu6ZE=", + "lastModified": 1756810301, + "narHash": "sha256-wgZ3VW4VVtjK5dr0EiK9zKdJ/SOqGIBXVG85C3LVxQA=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "1bfb84f54d50c7ae6558c794d3cfd5f6a7e6e676", + "rev": "3d63fb4a42c819f198deabd18c0c2c1ded1de931", "type": "github" }, "original": { @@ -557,11 +471,11 @@ ] }, "locked": { - "lastModified": 1749819919, - "narHash": "sha256-7F/KG8dwSH9JXdlpOVrEEArS+PJSn0iEnx5eVCk89/I=", + "lastModified": 1756117388, + "narHash": "sha256-oRDel6pNl/T2tI+nc/USU9ZP9w08dxtl7hiZxa0C/Wc=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "57ab2a867d8b554ad89f29060c15efd11631db91", + "rev": "b2ae3204845f5f2f79b4703b441252d8ad2ecfd0", "type": "github" }, "original": { @@ -582,11 +496,11 @@ ] }, "locked": { - "lastModified": 1749145760, - "narHash": "sha256-IHaGWpGrv7seFWdw/1A+wHtTsPlOGIKMrk1TUIYJEFI=", + "lastModified": 1755184602, + "narHash": "sha256-RCBQN8xuADB0LEgaKbfRqwm6CdyopE1xIEhNc67FAbw=", "owner": "hyprwm", "repo": "hyprwayland-scanner", - "rev": "817918315ea016cc2d94004bfb3223b5fd9dfcc6", + "rev": "b3b0f1f40ae09d4447c20608e5a4faf8bf3c492d", "type": "github" }, "original": { @@ -613,11 +527,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1749794982, - "narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=", + "lastModified": 1757068644, + "narHash": "sha256-NOrUtIhTkIIumj1E/Rsv1J37Yi3xGStISEo8tZm3KW4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81", + "rev": "8eb28adfa3dc4de28e792e3bf49fcf9007ca8ac9", "type": "github" }, "original": { @@ -629,11 +543,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1749794982, - "narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=", + "lastModified": 1757347588, + "narHash": "sha256-tLdkkC6XnsY9EOZW9TlpesTclELy8W7lL2ClL+nma8o=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81", + "rev": "b599843bad24621dcaa5ab60dac98f9b0eb1cabe", "type": "github" }, "original": { @@ -645,11 +559,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1750005367, - "narHash": "sha256-h/aac1dGLhS3qpaD2aZt25NdKY7b+JT0ZIP2WuGsJMU=", + "lastModified": 1757408970, + "narHash": "sha256-aSgK4BLNFFGvDTNKPeB28lVXYqVn8RdyXDNAvgGq+k0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6c64dabd3aa85e0c02ef1cdcb6e1213de64baee3", + "rev": "d179d77c139e0a3f5c416477f7747e9d6b7ec315", "type": "github" }, "original": { @@ -661,20 +575,46 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1743703532, - "narHash": "sha256-s1KLDALEeqy+ttrvqV3jx9mBZEvmthQErTVOAzbjHZs=", + "lastModified": 1751211869, + "narHash": "sha256-1Cu92i1KSPbhPCKxoiVG5qnoRiKTgR5CcGSRyLpOd7Y=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "bdb91860de2f719b57eef819b5617762f7120c70", + "rev": "b43c397f6c213918d6cfe6e3550abfe79b5d1c51", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-24.11", + "ref": "nixos-25.05", "repo": "nixpkgs", "type": "github" } }, + "nur": { + "inputs": { + "flake-parts": [ + "stylix", + "flake-parts" + ], + "nixpkgs": [ + "stylix", + "nixpkgs" + ], + "treefmt-nix": "treefmt-nix" + }, + "locked": { + "lastModified": 1751320053, + "narHash": "sha256-3m6RMw0FbbaUUa01PNaMLoO7D99aBClmY5ed9V3vz+0=", + "owner": "nix-community", + "repo": "NUR", + "rev": "cbde1735782f9c2bb2c63d5e05fba171a14a4670", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "NUR", + "type": "github" + } + }, "pre-commit-hooks": { "inputs": { "flake-compat": "flake-compat", @@ -685,11 +625,11 @@ ] }, "locked": { - "lastModified": 1749636823, - "narHash": "sha256-WUaIlOlPLyPgz9be7fqWJA5iG6rHcGRtLERSCfUDne4=", + "lastModified": 1757239681, + "narHash": "sha256-E9spYi9lxm2f1zWQLQ7xQt8Xs2nWgr1T4QM7ZjLFphM=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "623c56286de5a3193aa38891a6991b28f9bab056", + "rev": "ab82ab08d6bf74085bd328de2a8722c12d97bd9d", "type": "github" }, "original": { @@ -718,11 +658,11 @@ ] }, "locked": { - "lastModified": 1750119275, - "narHash": "sha256-Rr7Pooz9zQbhdVxux16h7URa6mA80Pb/G07T4lHvh0M=", + "lastModified": 1757449901, + "narHash": "sha256-qwN8nYdSRnmmyyi+uR6m4gXnVktmy5smG1MOrSFD8PI=", "owner": "Mic92", "repo": "sops-nix", - "rev": "77c423a03b9b2b79709ea2cb63336312e78b72e2", + "rev": "3b4a369df9dd6ee171a7ea4448b50e2528faf850", "type": "github" }, "original": { @@ -738,28 +678,28 @@ "base16-helix": "base16-helix", "base16-vim": "base16-vim", "firefox-gnome-theme": "firefox-gnome-theme", - "flake-compat": "flake-compat_2", - "flake-utils": "flake-utils", - "git-hooks": "git-hooks", + "flake-parts": "flake-parts", "gnome-shell": "gnome-shell", - "home-manager": "home-manager_2", "nixpkgs": "nixpkgs_3", + "nur": "nur", "systems": "systems_2", "tinted-foot": "tinted-foot", "tinted-kitty": "tinted-kitty", - "tinted-tmux": "tinted-tmux" + "tinted-schemes": "tinted-schemes", + "tinted-tmux": "tinted-tmux", + "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1747771231, - "narHash": "sha256-DYdmj22ZvkN5x9/VtdV5Wnze+UaPuboYraCPnOWn6u4=", + "lastModified": 1757361712, + "narHash": "sha256-GwObJtrAqVim66e4Jb5VzAKT6zGFJ3KOi63rfcrfMV4=", "owner": "danth", "repo": "stylix", - "rev": "66f554e4e32d804bcf2c007a7b7efef04a3773b0", + "rev": "3bf1430ed85a4484e4e1facee2344d2bb20288e6", "type": "github" }, "original": { "owner": "danth", - "ref": "release-24.11", + "ref": "release-25.05", "repo": "stylix", "type": "github" } @@ -814,28 +754,43 @@ "tinted-kitty": { "flake": false, "locked": { - "lastModified": 1716423189, - "narHash": "sha256-2xF3sH7UIwegn+2gKzMpFi3pk5DlIlM18+vj17Uf82U=", + "lastModified": 1735730497, + "narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=", "owner": "tinted-theming", "repo": "tinted-kitty", - "rev": "eb39e141db14baef052893285df9f266df041ff8", + "rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa", "type": "github" }, "original": { "owner": "tinted-theming", "repo": "tinted-kitty", - "rev": "eb39e141db14baef052893285df9f266df041ff8", + "type": "github" + } + }, + "tinted-schemes": { + "flake": false, + "locked": { + "lastModified": 1750770351, + "narHash": "sha256-LI+BnRoFNRa2ffbe3dcuIRYAUcGklBx0+EcFxlHj0SY=", + "owner": "tinted-theming", + "repo": "schemes", + "rev": "5a775c6ffd6e6125947b393872cde95867d85a2a", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "schemes", "type": "github" } }, "tinted-tmux": { "flake": false, "locked": { - "lastModified": 1743296873, - "narHash": "sha256-8IQulrb1OBSxMwdKijO9fB70ON//V32dpK9Uioy7FzY=", + "lastModified": 1751159871, + "narHash": "sha256-UOHBN1fgHIEzvPmdNMHaDvdRMgLmEJh2hNmDrp3d3LE=", "owner": "tinted-theming", "repo": "tinted-tmux", - "rev": "af5152c8d7546dfb4ff6df94080bf5ff54f64e3a", + "rev": "bded5e24407cec9d01bd47a317d15b9223a1546c", "type": "github" }, "original": { @@ -844,6 +799,44 @@ "type": "github" } }, + "tinted-zed": { + "flake": false, + "locked": { + "lastModified": 1751158968, + "narHash": "sha256-ksOyv7D3SRRtebpXxgpG4TK8gZSKFc4TIZpR+C98jX8=", + "owner": "tinted-theming", + "repo": "base16-zed", + "rev": "86a470d94204f7652b906ab0d378e4231a5b3384", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-zed", + "type": "github" + } + }, + "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "stylix", + "nur", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1733222881, + "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "49717b5af6f80172275d47a418c9719a31a78b53", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, "watt": { "inputs": { "nixpkgs": [ @@ -893,11 +886,11 @@ ] }, "locked": { - "lastModified": 1749490041, - "narHash": "sha256-R9Dn9IyUdPaJHD2Oqd7XJnnxpka6M6UYw4Ld0iA46HM=", + "lastModified": 1755354946, + "narHash": "sha256-zdov5f/GcoLQc9qYIS1dUTqtJMeDqmBmo59PAxze6e4=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "3cf35e178bc192ee51e3fddfd69e531e2c106a30", + "rev": "a10726d6a8d0ef1a0c645378f983b6278c42eaa0", "type": "github" }, "original": { @@ -908,17 +901,17 @@ }, "zen-browser": { "inputs": { - "home-manager": "home-manager_3", + "home-manager": "home-manager_2", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1750130285, - "narHash": "sha256-fauK56RkWQcNaDOehxxE2lcmNG0Vi++4KWlFQIJm4QE=", + "lastModified": 1757395105, + "narHash": "sha256-kwctEcCrHXZg80POmuOfqRqxSjy8bXhdBuNcRWaEpFA=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "00b7edda741d3380fa123f053efd59774361d888", + "rev": "d7b87e67233fdb42e655600f3de4c2e8a13bc6a7", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index cf2c51b..47c5176 100644 --- a/flake.nix +++ b/flake.nix @@ -11,7 +11,7 @@ nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.4.1"; # hyprland, plugins and related utils hyprland.url = "github:hyprwm/Hyprland"; - stylix.url = "github:danth/stylix/release-24.11"; + stylix.url = "github:danth/stylix/release-25.05"; # zen browser zen-browser.url = "github:0xc000022070/zen-browser-flake"; # IMPORTANT: we're using "libgbm" and is only available in unstable so ensure diff --git a/modules/nixos/usb_config.nix b/hosts/mobile-usb/usb_config.nix similarity index 100% rename from modules/nixos/usb_config.nix rename to hosts/mobile-usb/usb_config.nix diff --git a/hosts/yoga-7-pro/README.md b/hosts/yoga-7-pro/README.md index 239183f..afd5bfb 100644 --- a/hosts/yoga-7-pro/README.md +++ b/hosts/yoga-7-pro/README.md @@ -3,7 +3,7 @@ Installed using > sudo nixos-install --root /tmp/new-install/ --flake .#nyx --impure --no-root-passwd ``` -where `/tmp/new-install` was the moint point of the target FS. +where `/tmp/new-install` was the mount point of the target FS. The root user is effectively deactivated, hence the additional setup: - users are part of the `wheel` group diff --git a/hosts/yoga-7-pro/hardware-configuration.nix b/hosts/yoga-7-pro/hardware-configuration.nix index 69add7d..0329f66 100644 --- a/hosts/yoga-7-pro/hardware-configuration.nix +++ b/hosts/yoga-7-pro/hardware-configuration.nix @@ -12,6 +12,20 @@ boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-amd" ]; boot.extraModulePackages = [ ]; + boot.kernelPackages = pkgs.linuxPackages_latest; + boot.kernelParams = [ + "quiet" + "splash" + ]; + + # https://github.com/lwfinger/rtw89/issues/240 + boot.extraModprobeConfig = '' + options rtw89_pci disable_aspm_l1ss=y disable_aspm_l1=y disable_clkreq=y + options rtw89_core disable_ps_mode=y + ''; + + + services.fwupd.enable = true; fileSystems."/" = { device = "/dev/disk/by-uuid/1ea0784c-4eeb-46f1-a0ae-f6b311b27bd1"; @@ -37,23 +51,26 @@ }; # TODO - only enable this if the user remy exists - fileSystems."/home/${config.nix-config.userName}/scratch" = + fileSystems."/scratch/${config.nix-config.userName}" = { device = "/dev/disk/by-uuid/1ea0784c-4eeb-46f1-a0ae-f6b311b27bd1"; fsType = "btrfs"; - options = [ "subvol=@scratch" ]; + options = [ + "subvol=@scratch" + # Even though the mount point is not in home, we still want to show it in gnome-related file managers + "x-gvfs-show" + "x-gvfs-name=scratch" + "x-gvfs-icon=view-refresh" + ]; # TODO make it owned by the user }; swapDevices = [ ]; - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking - # (the default) this is the recommended approach. When using systemd-networkd it's - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + # Enables DHCP on each ethernet and wireless interface. networking.useDHCP = lib.mkDefault true; - # networking.interfaces.wireguard-home.useDHCP = lib.mkDefault true; - # networking.interfaces.wlp192s0.useDHCP = lib.mkDefault true; + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + } diff --git a/modules/home-manager/bluetooth-picker.nix b/modules/home-manager/bluetooth-picker.nix new file mode 100644 index 0000000..2592189 --- /dev/null +++ b/modules/home-manager/bluetooth-picker.nix @@ -0,0 +1,9 @@ +{pkgs, ...}: +{ + home.packages = [ + pkgs.rofi-bluetooth + ]; + + # patch the rofi-bluetooth script to use an alternative rofi-command variable + +} diff --git a/modules/home-manager/code.nix b/modules/home-manager/code.nix index d2f1ebc..ea0d720 100644 --- a/modules/home-manager/code.nix +++ b/modules/home-manager/code.nix @@ -10,17 +10,32 @@ let # Nix environment selector arrterian.nix-env-selector ]; + + # baseExtensions = with pkgs; [ + # (vscode-with-extensions.override { + # vscodeExtensions = with vscode-extensions; [ + # bbenoist.nix + + # ]; + # }) + # ]; + baseSettings = { # visual - "window.menuBarVisibility" = "toggle"; + "window.titleBarStyle" = "native"; + "window.customTitleBarVisibility" = "never"; + "window.menuBarVisibility" = "hidden"; + + "window.autoDetectColorScheme" = true; + "workbench.preferredDarkColorTheme" = "Default Dark Modern"; + "workbench.preferredLightColorTheme" = "Default Light Modern"; "editor.fontFamily" = "'FiraCode Nerd Font Mono', 'monospace', monospace"; "terminal.integrated.fontFamily" = "FiraCode Nerd Font Mono"; "workbench.iconTheme" = "vs-seti"; # telemetry - "telemetry.enableCrashReporter" = false; - "telemetry.enableTelemetry" = false; + "telemetry.telemetryLevel" = "off"; "redhat.telemetry.enabled" = false; # editor QOL @@ -127,7 +142,6 @@ in ms-python.vscode-pylance ms-toolsai.vscode-jupyter-slideshow ms-toolsai.jupyter-renderers - # Typst myriad-dreamin.tinymist ]) ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [ @@ -174,7 +188,6 @@ in "editor.wordSeparators" = "`~!@#$%^&*()=+[{]}\\|;:'\",.<>/?"; }; "[typst-code]" = { - "git.openRepositoryInParentFolders" = "never"; "editor.wordSeparators" = "`~!@#$%^&*()=+[{]}\\|;:'\",.<>/?"; }; "tinymist.fontPaths" = [ diff --git a/modules/home-manager/flatpaks.nix b/modules/home-manager/flatpaks.nix index 14690ba..9964a18 100644 --- a/modules/home-manager/flatpaks.nix +++ b/modules/home-manager/flatpaks.nix @@ -8,7 +8,6 @@ services.flatpak.uninstallUnmanaged = false; services.flatpak.packages = [ - "com.github.flxzt.rnote" "com.github.tchx84.Flatseal" "com.spotify.Client" "io.podman_desktop.PodmanDesktop" diff --git a/modules/home-manager/fusuma.nix b/modules/home-manager/fusuma.nix new file mode 100644 index 0000000..6e9e455 --- /dev/null +++ b/modules/home-manager/fusuma.nix @@ -0,0 +1,47 @@ +{pkgs, config, lib, ...}: +let + hyprctl = "${pkgs.hyprland}/bin/hyprctl"; +in +{ + config = { + services.fusuma = { + enable = true; + settings = { + swipe = { + "3" = { + up = { + command = "exec ${hyprctl} dispatch fullscreen 1"; + }; + + down = { + command = "exec ${lib.getExe config.nix-config.launcher}"; + }; + }; + }; + + pinch = { + "4" = { + "in" = { + command = "exec ${hyprctl} dispatch togglespecialworkspace magic"; + }; + "out" = { + command = "exec ${hyprctl} dispatch togglespecialworkspace magic"; + }; + }; + }; + + + hold = { + "5" = { + command = "exec ${lib.getExe config.nix-config.launcher}"; + threshold = 0.1; + }; + }; + + threshold = { + pinch = 0.1; + }; + }; + }; + }; +} diff --git a/modules/home-manager/hypr/hypridle.nix b/modules/home-manager/hypr/hypridle.nix index 64b62a7..241e68f 100644 --- a/modules/home-manager/hypr/hypridle.nix +++ b/modules/home-manager/hypr/hypridle.nix @@ -4,9 +4,9 @@ enable = true; settings = { general = { - # avoid starting multiple hyprlock instances. - before_sleep_cmd = "pidof hyprlock || hyprlock --immediate-render --no-fade-in"; - lock_cmd = "pidof hyprlock || hyprlock --immediate-render --no-fade-in"; + # See: https://github.com/hyprwm/hypridle/issues/146 + before_sleep_cmd = "hyprlock --no-fade-in"; + lock_cmd = "hyprlock"; after_sleep_cmd = "hyprctl dispatch dpms on"; ignore_dbus_inhibit = false; }; @@ -22,7 +22,7 @@ { # dim screen after 2 minutes timeout = 120; - on-timeout = "brightnessctl -s set 2"; + on-timeout = "brightnessctl -s set 2%"; on-resume = "brightnessctl -r"; # monitor backlight restore. } @@ -40,6 +40,5 @@ } ]; }; - }; } diff --git a/modules/home-manager/hypr/hyprland/autostart.nix b/modules/home-manager/hypr/hyprland/autostart.nix index c0da5e3..2df4b81 100644 --- a/modules/home-manager/hypr/hyprland/autostart.nix +++ b/modules/home-manager/hypr/hyprland/autostart.nix @@ -11,6 +11,7 @@ in "wl-paste --watch cliphist store" "${lib.getExe pkgs.waybar}" "${lib.getExe pkgs.hypridle}" + # TODO - currently broken "${pkgs.owncloud-client}" "${lib.getExe pkgs.keepassxc}" ]; diff --git a/modules/home-manager/hypr/hyprland/general.nix b/modules/home-manager/hypr/hyprland/general.nix index 98e75bf..c6b0311 100644 --- a/modules/home-manager/hypr/hyprland/general.nix +++ b/modules/home-manager/hypr/hyprland/general.nix @@ -23,6 +23,9 @@ in enable = true; systemd.enable = true; settings = { + # debug = { + # disable_logs = false; + # }; general = { resize_on_border = true; gaps_in = 5; @@ -98,6 +101,9 @@ in # the internal monitor, always at the "center" "eDP-1, ${cfg.internal-screen.resolution}, 0x0, ${cfg.internal-screen.scale}" + # ultra wide monitor at home + "desc:Samsung Electric Company C34H89x H4ZN501178, 3440x1440@99.98, auto-up, 1" + # Samsung monitors at irchel (matching the description) "desc:Samsung Electric Company LS27D80xU, 2560x1440@59.95, auto-up, 1" @@ -126,7 +132,7 @@ in # Global overview pkgs.hyprlandPlugins.hyprspace # Touch gestures - pkgs.hyprlandPlugins.hyprgrass + # pkgs.hyprlandPlugins.hyprgrass ]; }; }; diff --git a/modules/home-manager/hypr/hyprland/keybinds.nix b/modules/home-manager/hypr/hyprland/keybinds.nix index 63f6bdd..94a5cfc 100644 --- a/modules/home-manager/hypr/hyprland/keybinds.nix +++ b/modules/home-manager/hypr/hyprland/keybinds.nix @@ -28,7 +28,7 @@ in # Close window "$mod, Q, killactive," # Force close window - # "$mod+Shift, Q, forcekillactive," + "$mod+Shift, Q, forcekillactive," # Toggle Floating and reduce size "$mod, f, togglefloating," @@ -49,21 +49,25 @@ in "$mod+Shift, up, movewindow, u" "$mod+Shift, down, movewindow, d" + # Move window to workspace "$mod+Ctrl, left, movetoworkspace, -1" "$mod+Ctrl, right, movetoworkspace, +1" # Switch workspace - "$mod+Alt, left, workspace, -1" - "$mod+Alt, right, workspace, +1" + "$mod, left, workspace, -1" + "$mod, right, workspace, +1" "$mod, mouse_down, workspace, -1" "$mod, mouse_up, workspace, +1" + # move to scratch workspace "$mod+Ctrl, up, movetoworkspace, special:magic" - "$mod+Ctrl, down, movetoworkspace, 1" - # toggle scratch workspace - "$mod+Alt, up, togglespecialworkspace, magic" - "$mod+Alt, down, togglespecialworkspace, magic" + "$mod+Ctrl, down, movetoworkspace, prev" + + # switch to scratch workspace + "$mod, up, togglespecialworkspace, magic" + "$mod, down, togglespecialworkspace, magic" + # Screenshot "$mod, Print, exec, hyprshot -m region -o ~/Pictures/Screenshots" @@ -80,7 +84,7 @@ in # Other pickers using the same launcher "$mod+Ctrl, space, exec, ${lib.getExe config.nix-config.filePicker}" - + "$mod, period, exec, ${lib.getExe config.nix-config.emojiPicker}" ]; # repeatable bindings @@ -97,25 +101,26 @@ in "$mod, KP_Subtract, resizeactive, -2% -2%" "$mod, PLUS, resizeactive, 2% 2%" "$mod, KP_Add, resizeactive, 2% 2%" + + ]; # lock-screen bindings bindl = [ - ## depending on the setup: lock screen or switch to clamshell mode - # in any case, the internal screen is turned off - # ", switch:on:Lid Switch, exec, loginctl lock-session" + ", XF86PowerOff, exec, hyprctl dispatch dpms on eDP-1" + ## depending on the setup we expect different behaviors when closing the lid: + # either sleep & lock screen OR switch to clamshell mode + # through the `services.logind.lidSwitch` and `services.logind.lidSwitchDocked` we can differentiate both cases + # when not docked, the system is put to sleep and the screen is implicitly locked as per the hypridle configuration + # when docked, the lid switch is ignored by logind and needs to be handled manually, see below: # if an additional monitor is detected, simply deactivate the internal screen and continue working on the external monitor - ", switch:on:Lid Switch, exec, hyprctl dispatch dpms off eDP-1" - ", switch:on:Lid Switch, exec, sleep 0.5; hyprctl monitors | grep 'dpmsStatus: 1' && hyprctl keyword monitor 'eDP-1,disable'" - # # if no external monitor is detected, lock the screen - # ", switch:on:Lid Switch, exec, sleep 0.5; hyprctl monitors | grep 'dpmsStatus: 1' || loginctl lock-session" - + ", switch:on:Lid Switch, exec, hyprctl keyword monitor 'eDP-1,disable" ## on reopening the lid, turn the internal screen back on ", switch:off:Lid Switch, exec, hyprctl dispatch dpms on eDP-1" - # if an external monitor was connected, then we need to reload the monitor configuration - ", switch:off:Lid Switch, exec, hyprctl monitors | grep 'ID 1' && hyprctl reload" + # we need to reload the monitor configuration so that the internal screen is turned back on + ", switch:off:Lid Switch, exec, hyprctl reload" ]; # bindr = [ @@ -129,7 +134,21 @@ in # resize the window using right click "$mod, mouse:273, resizewindow" ]; + + + }; + + extraConfig = '' + bind= , XF86AudioMicMute, submap, player_submap + + submap=player_submap + bind=, XF86AudioRaiseVolume, exec, notify-send previous; hyprctl dispatch submap reset + bind=, XF86AudioLowerVolume, exec, notify-send next; hyprctl dispatch submap reset + bind=, XF86AudioMicMute, exec, notify-send pause; hyprctl dispatch submap reset + submap=reset + ''; + }; }; } diff --git a/modules/home-manager/hypr/hyprlock.nix b/modules/home-manager/hypr/hyprlock.nix index 6c7ae71..e062d02 100644 --- a/modules/home-manager/hypr/hyprlock.nix +++ b/modules/home-manager/hypr/hyprlock.nix @@ -5,16 +5,12 @@ settings = { - # # prevent the screen being shown for a split second - # animations = { - # animation = "fadeIn, 0, 0, linear"; - # }; general = { # immediately lock the screen grace = 0; - no_fade_in = false; - disable_loading_bar = false; + # no_fade_in = false; + # disable_loading_bar = false; }; background = { diff --git a/modules/home-manager/hypr/waybar.nix b/modules/home-manager/hypr/waybar.nix index 97d2329..21637de 100644 --- a/modules/home-manager/hypr/waybar.nix +++ b/modules/home-manager/hypr/waybar.nix @@ -17,7 +17,6 @@ in config = { - # required to autoload fonts from packages installed via Home Manager fonts.fontconfig.enable = true; @@ -85,14 +84,17 @@ in }; }; "clock" = { - format = " {:%H:%M}"; + format = "{:%H:%M}"; interval = 1; tooltip-format = "{calendar}"; - calendar = { - "format" = { - "today" = "{}"; - }; - }; + # calendar = { + # format = "%Y-%m-%d\n󰃰 %A\n\n%H:%M"; + # start-day = 1; # Monday + # first-weekday = 1; # Monday + # week-number = false; + # long-weekdays = true; + # hide-if-empty = false; + # }; }; "idle_inhibitor" = { format = "{icon}"; @@ -104,7 +106,7 @@ in }; "bluetooth" = { format-on = "󰂯"; - format-off = "BT-off"; + format-off = "󰂲"; format-disabled = "󰂲"; format-connected-battery = "{device_battery_percentage}% 󰂯"; format-alt = "{device_alias} 󰂯"; @@ -137,7 +139,7 @@ in format = "{volume}% {icon}";# {format_source}"; format-bluetooth = "{volume}% {icon}";# {format_source}"; format-bluetooth-muted = " {icon}";# {format_source}"; - format-muted = "🔇";# {format_source}"; + format-muted = "";# {format_source}"; format-alt = "{format_source} {icon}"; # format-source = " {volume}%"; # format-source-muted = ""; diff --git a/modules/home-manager/kitty.nix b/modules/home-manager/kitty.nix index 96580f8..ea1d386 100644 --- a/modules/home-manager/kitty.nix +++ b/modules/home-manager/kitty.nix @@ -47,6 +47,8 @@ in cursor_trail_decay = "0.1 0.4"; url_style = "curly"; notify_on_cmd_finish = "unfocused"; + + window_padding_width = 5; }; keybindings = { diff --git a/modules/home-manager/launcher.nix b/modules/home-manager/launcher.nix index 3716dfb..bb62e42 100644 --- a/modules/home-manager/launcher.nix +++ b/modules/home-manager/launcher.nix @@ -33,6 +33,10 @@ let exit 1 fi ''; + + emojiPicker = pkgs.writeShellScriptBin "emoji-picker" '' + curl -s https://raw.githubusercontent.com/littleboycoding/emoji-dmenu/refs/heads/master/emoji.txt | fuzzel --dmenu | cut -d ' ' -f 1 | wl-copy + ''; in { @@ -54,6 +58,12 @@ in type = lib.types.package; default = filePicker; }; + + emojiPicker = lib.mkOption { + description = "Package to use as a emoji picker"; + type = lib.types.package; + default = emojiPicker; + }; }; config = { @@ -107,6 +117,7 @@ in home.packages = with pkgs; [ powerMenu filePicker + emojiPicker ]; }; } diff --git a/modules/home-manager/stylix.nix b/modules/home-manager/stylix.nix index 8c8c04f..4385c64 100644 --- a/modules/home-manager/stylix.nix +++ b/modules/home-manager/stylix.nix @@ -52,7 +52,8 @@ in stylix = { # Stylix is already enabled since the system is configured to use it - # enable = true; + enable = true; + image = ./../../wallpapers/magicpattern-87PP9Zd7MNo-unsplash.jpg; # don't theme applications by default autoEnable = false; @@ -68,8 +69,8 @@ in }; - image = ./../../wallpapers/magicpattern-87PP9Zd7MNo-unsplash.jpg; + polarity = lib.mkDefault "dark"; fonts = { @@ -107,41 +108,75 @@ in popups = 0.9; terminal = cfg.terminalOpacity; }; + + base16Scheme = { + scheme = "onelight"; + author = "https://github.com/one-dark"; + base00 = "#fafafa"; + base01 = "#f4f4f4"; + base02 = "#e5e5e6"; + base03 = "#dfdfe0"; + base04 = "#d7d7d8"; + base05 = "#383a42"; + base06 = "#202227"; + base07 = "#090a0b"; + base08 = "#d84a3d"; + base09 = "#a626a4"; + base0A = "#c18401"; + base0B = "#50a14f"; + base0C = "#0070a8"; + base0D = "#4078f2"; + base0E = "#a626a4"; + base0F = "#986801"; + }; + + targets = { + hyprpaper.enable = true; + hyprlock.enable = true; + # disabled because they overwrite too many settings + # gnome + # wofi + # vscode + # waybar + # kitty + + fontconfig.enable = true; + font-packages.enable = true; + + }; }; - stylix.base16Scheme = { - scheme = "onelight"; - author = "https://github.com/one-dark"; - base00 = "#fafafa"; - base01 = "#f4f4f4"; - base02 = "#e5e5e6"; - base03 = "#dfdfe0"; - base04 = "#d7d7d8"; - base05 = "#383a42"; - base06 = "#202227"; - base07 = "#090a0b"; - base08 = "#d84a3d"; - base09 = "#a626a4"; - base0A = "#c18401"; - base0B = "#50a14f"; - base0C = "#0070a8"; - base0D = "#4078f2"; - base0E = "#a626a4"; - base0F = "#986801"; - }; + # https://pltanton.dev/posts/2024/02/nix-based-dark-light-theme-switch/ + home.packages = [ + (lib.lowPrio (pkgs.writeShellApplication { + name = "toggle-theme"; + runtimeInputs = with pkgs; [ home-manager coreutils ripgrep ]; + text = + '' + "$(home-manager generations | head -1 | rg -o '/[^ ]*')"/specialisation/light-theme/activate + echo "Switched to light theme" + ''; + })) + ]; - stylix.targets = { - hyprpaper.enable = true; - hyprlock.enable = true; - gnome.enable = true; - # disabled because they overwrite too many settings - # wofi.enable = true; - # vscode.enable = true; - # waybar.enable = true; - # kitty.enable = true; + specialisation.light-theme.configuration = { + stylix = { + polarity = "light"; + }; + home.packages = [ + (lib.hiPrio (pkgs.writeShellApplication { + name = "toggle-theme"; + runtimeInputs = with pkgs; [ home-manager coreutils ripgrep ]; + text = + '' + "$(home-manager generations | head -2 | tail -1 | rg -o '/[^ ]*')"/activate + echo "Switched to dark theme" + ''; + })) + ]; }; }; } diff --git a/modules/nixos/bluetooth.nix b/modules/nixos/bluetooth.nix index 248377c..8bd4614 100644 --- a/modules/nixos/bluetooth.nix +++ b/modules/nixos/bluetooth.nix @@ -26,17 +26,6 @@ hardware.bluetooth = { enable = true; - # powerOnBoot = true; - # settings = { - # General = { - # Name = "Nixtre"; - # ControllerMode = "dual"; - # FastConnectable = "true"; - # Experimental = "true"; - # }; - # Policy = { - # AutoEnable = "true"; - # }; - # }; + powerOnBoot = false; }; } diff --git a/modules/nixos/power.nix b/modules/nixos/power.nix index a88740b..41c2a71 100644 --- a/modules/nixos/power.nix +++ b/modules/nixos/power.nix @@ -20,9 +20,9 @@ services.tlp = { enable = true; settings = { - # processor chooses frequencies itself - CPU_DRIVER_OPMODE_ON_AC = "active"; - CPU_DRIVER_OPMODE_ON_BAT = "active"; + # processor chooses frequencies itself but respects the limits set by the user + CPU_DRIVER_OPMODE_ON_AC = "guided"; + CPU_DRIVER_OPMODE_ON_BAT = "guided"; # governor dictates global behavior of the CPU CPU_SCALING_GOVERNOR_ON_BAT = "powersave"; @@ -32,78 +32,29 @@ CPU_ENERGY_PERF_POLICY_ON_BAT = "balance_power"; CPU_ENERGY_PERF_POLICY_ON_AC = "performance"; - # CPU_MIN_PERF_ON_AC = 0; - # CPU_MAX_PERF_ON_AC = 100; - # CPU_MIN_PERF_ON_BAT = 0; - # CPU_MAX_PERF_ON_BAT = 50; + + # clock speeds reported by `sudo tlp-stat` + # 623377 [kHz] and 5090910 [kHz] + # CPU_SCALING_MIN_FREQ_ON_AC = 623377; + # CPU_SCALING_MAX_FREQ_ON_AC = 5090910; + # CPU_SCALING_MIN_FREQ_ON_BAT = 0; + # # reduce max frequency on battery to save power + # CPU_SCALING_MAX_FREQ_ON_BAT = 3000000; + + # Allow the CPU to boost + CPU_BOOST_ON_AC = 1; + CPU_BOOST_ON_BAT = 1; + + + RADEON_DPM_PERF_LEVEL_ON_AC = "high"; + WIFI_PWR_ON_BAT = "off"; # enable battery charge thresholds on the default battery STOP_CHARGE_THRESH_BAT0 = 1; - - - # STOP_CHARGE_THRESH_BAT0 = 80; - - # CPU_BOOST_ON_AC = 1; - # CPU_BOOST_ON_BAT = 0; - # CPU_HWP_DYN_BOOST_ON_AC = 1; - # CPU_HWP_DYN_BOOST_ON_BAT = 0; }; }; - # services.watt = { - # enable = true; - # settings = { - # charger = { - # governor = "performance"; - # turbo = "auto"; - # epp = "performance"; - # epb = "balance_performance"; - # platform_profile = "performance"; - - # enable_auto_turbo = true; - # # Custom thresholds for auto turbo management - # turbo_auto_settings = { - # load_threshold_high = 70.0; - # load_threshold_low = 30.0; - # temp_threshold_high = 75.0; - # initial_turbo_state = false; # whether turbo should be initially enabled (false = disabled) - # }; - # }; - - # battery = { - # governor = "powersave"; - # turbo = "auto"; - # epp = "power"; - # epb = "balance_power"; - # platform_profile = "low-power"; - - # enable_auto_turbo = true; - # # Custom thresholds for auto turbo management - # turbo_auto_settings = { - # load_threshold_high = 80.0; - # load_threshold_low = 40.0; - # temp_threshold_high = 65.0; - # initial_turbo_state = false; # whether turbo should be initially enabled (false = disabled) - # }; - - # }; - - # daemon = { - # poll_interval_sec = 10; - # adaptive_interval = true; - # min_poll_interval_sec = 1; - # max_poll_interval_sec = 30; - # throttle_on_battery = true; - # stats_file_path = "/var/run/watt-stats"; - # }; - # # battery_charge_thresholds = [50 90]; - # }; - - - # # logind.lidSwitchExternalPower = "ignore"; # prevent lid switch from triggering a suspend - # }; - systemd.sleep.extraConfig = '' AllowSuspend=yes AllowHibernation=yes diff --git a/modules/nixos/stylix.nix b/modules/nixos/stylix.nix index 426a694..25ee81c 100644 --- a/modules/nixos/stylix.nix +++ b/modules/nixos/stylix.nix @@ -5,7 +5,29 @@ ... }: { - stylix.enable = true; - stylix.image = ./../../wallpapers/magicpattern-87PP9Zd7MNo-unsplash.jpg; - + stylix = { + enable = true; + polarity = "dark"; + homeManagerIntegration.followSystem = false; + base16Scheme = { + # scheme = "onedark"; + # author = "https://github.com/one-dark"; + base00 = "#282c34"; + base01 = "#353b45"; + base02 = "#3e4451"; + base03 = "#545862"; + base04 = "#565c64"; + base05 = "#abb2bf"; + base06 = "#b6bdca"; + base07 = "#c8ccd4"; + base08 = "#e06c75"; + base09 = "#d19a66"; + base0A = "#e6c07b"; + base0B = "#98c379"; + base0C = "#56b6c2"; + base0D = "#61afef"; + base0E = "#c678dd"; + base0F = "#be5046"; + }; + }; } diff --git a/modules/nixos/user.nix b/modules/nixos/user.nix index 657d79d..2c14b7a 100644 --- a/modules/nixos/user.nix +++ b/modules/nixos/user.nix @@ -20,6 +20,7 @@ in isNormalUser = true; extraGroups = [ "wheel" # Enable ‘sudo’ for the user. + "input" # other groups are added as needed, eg. networkmanager ]; }; diff --git a/users/remy_yoga/default.nix b/users/remy_yoga/default.nix index a57aac0..2b53ee0 100644 --- a/users/remy_yoga/default.nix +++ b/users/remy_yoga/default.nix @@ -22,6 +22,7 @@ with lib.hm.gvariant; ../../modules/home-manager/documents.nix ../../modules/home-manager/fish.nix ../../modules/home-manager/flatpaks.nix + ../../modules/home-manager/fusuma.nix ../../modules/home-manager/hypr ../../modules/home-manager/keepassxc.nix ../../modules/home-manager/kitty.nix