usability improvements

This commit is contained in:
2025-09-23 00:06:24 +02:00
parent 82e26ee498
commit 38dc75a6e1
24 changed files with 467 additions and 354 deletions

View File

@@ -17,6 +17,7 @@ Don't forget to add the `#<host>` to the end of the target to specify the host c
### Spectre ### Spectre
###
@@ -53,7 +54,6 @@ TODO - disable root user
``` ```
## TODO ## TODO
- Have a wofi power menu with https://github.com/RiteshChepuri/wofi-scripts/blob/main/wofi-power-menu

361
flake.lock generated
View File

@@ -20,11 +20,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1749155310, "lastModified": 1755946532,
"narHash": "sha256-t0HfHg/1+TbSra5s6nNM0o4tnb3uqWedShSpZXsUMYY=", "narHash": "sha256-POePremlUY5GyA1zfbtic6XLxDaQcqHN6l+bIxdT5gc=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "aquamarine", "repo": "aquamarine",
"rev": "94981cf75a9f11da0b6dd6a1abbd7c50a36ab2d3", "rev": "81584dae2df6ac79f6b6dae0ecb7705e95129ada",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -38,11 +38,11 @@
"fromYaml": "fromYaml" "fromYaml": "fromYaml"
}, },
"locked": { "locked": {
"lastModified": 1745523430, "lastModified": 1746562888,
"narHash": "sha256-EAYWV+kXbwsH+8G/8UtmcunDeKwLwSOyfcmzZUkWE/c=", "narHash": "sha256-YgNJQyB5dQiwavdDFBMNKk1wyS77AtdgDk/VtU6wEaI=",
"owner": "SenchoPens", "owner": "SenchoPens",
"repo": "base16.nix", "repo": "base16.nix",
"rev": "58bfe2553d937d8af0564f79d5b950afbef69717", "rev": "806a1777a5db2a1ef9d5d6f493ef2381047f2b89",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -70,11 +70,11 @@
"base16-helix": { "base16-helix": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1736852337, "lastModified": 1748408240,
"narHash": "sha256-esD42YdgLlEh7koBrSqcT7p2fsMctPAcGl/+2sYJa2o=", "narHash": "sha256-9M2b1rMyMzJK0eusea0x3lyh3mu5nMeEDSc4RZkGm+g=",
"owner": "tinted-theming", "owner": "tinted-theming",
"repo": "base16-helix", "repo": "base16-helix",
"rev": "03860521c40b0b9c04818f2218d9cc9efc21e7a5", "rev": "6c711ab1a9db6f51e2f6887cc3345530b33e152e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -103,11 +103,11 @@
"firefox-gnome-theme": { "firefox-gnome-theme": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1743774811, "lastModified": 1748383148,
"narHash": "sha256-oiHLDHXq7ymsMVYSg92dD1OLnKLQoU/Gf2F1GoONLCE=", "narHash": "sha256-pGvD/RGuuPf/4oogsfeRaeMm6ipUIznI2QSILKjKzeA=",
"owner": "rafaelmardojai", "owner": "rafaelmardojai",
"repo": "firefox-gnome-theme", "repo": "firefox-gnome-theme",
"rev": "df53a7a31872faf5ca53dd0730038a62ec63ca9e", "rev": "4eb2714fbed2b80e234312611a947d6cb7d70caf",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -119,11 +119,11 @@
"flake-compat": { "flake-compat": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1696426674, "lastModified": 1747046372,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
"owner": "edolstra", "owner": "edolstra",
"repo": "flake-compat", "repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -132,40 +132,24 @@
"type": "github" "type": "github"
} }
}, },
"flake-compat_2": { "flake-parts": {
"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": {
"inputs": { "inputs": {
"systems": [ "nixpkgs-lib": [
"stylix", "stylix",
"systems" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1731533236, "lastModified": 1749398372,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=",
"owner": "numtide", "owner": "hercules-ci",
"repo": "flake-utils", "repo": "flake-parts",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "numtide", "owner": "hercules-ci",
"repo": "flake-utils", "repo": "flake-parts",
"type": "github" "type": "github"
} }
}, },
@@ -185,32 +169,6 @@
"type": "github" "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": { "gitignore": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -233,41 +191,19 @@
"type": "github" "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": { "gnome-shell": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1732369855, "lastModified": 1744584021,
"narHash": "sha256-JhUWbcYPjHO3Xs3x9/Z9RuqXbcp5yhPluGjwsdE2GMg=", "narHash": "sha256-0RJ4mJzf+klKF4Fuoc8VN8dpQQtZnKksFmR2jhWE1Ew=",
"owner": "GNOME", "owner": "GNOME",
"repo": "gnome-shell", "repo": "gnome-shell",
"rev": "dadd58f630eeea41d645ee225a63f719390829dc", "rev": "52c517c8f6c199a1d6f5118fae500ef69ea845ae",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "GNOME", "owner": "GNOME",
"ref": "47.2", "ref": "48.1",
"repo": "gnome-shell", "repo": "gnome-shell",
"type": "github" "type": "github"
} }
@@ -279,11 +215,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1749154018, "lastModified": 1756679287,
"narHash": "sha256-gjN3j7joRvT3a8Zgcylnd4NFsnXeDBumqiu4HmY1RIg=", "narHash": "sha256-Xd1vOeY9ccDf5VtVK12yM0FS6qqvfUop8UQlxEB+gTQ=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "7aae0ee71a17b19708b93b3ed448a1a0952bf111", "rev": "07fc025fe10487dd80f2ec694f1cd790e752d0e8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -294,28 +230,6 @@
} }
}, },
"home-manager_2": { "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": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"zen-browser", "zen-browser",
@@ -323,11 +237,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1743604125, "lastModified": 1752603129,
"narHash": "sha256-ZD61DNbsBt1mQbinAaaEqKaJk2RFo9R/j+eYWeGMx7A=", "narHash": "sha256-S+wmHhwNQ5Ru689L2Gu8n1OD6s9eU9n9mD827JNR+kw=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "180fd43eea296e62ae68e079fcf56aba268b9a1a", "rev": "e8c19a3cec2814c754f031ab3ae7316b64da085b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -352,11 +266,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1749155331, "lastModified": 1753964049,
"narHash": "sha256-XR9fsI0zwLiFWfqi/pdS/VD+YNorKb3XIykgTg4l1nA=", "narHash": "sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprcursor", "repo": "hyprcursor",
"rev": "45fcc10b4c282746d93ec406a740c43b48b4ef80", "rev": "44e91d467bdad8dcf8bbd2ac7cf49972540980a5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -381,11 +295,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1749238452, "lastModified": 1756891319,
"narHash": "sha256-8qiKEWcxUrjpUpK+WyFNg/72C8rp70LUuyTD23T+SdQ=", "narHash": "sha256-/e6OXxzbAj/o97Z1dZgHre4bNaVjapDGscAujSCQSbI=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprgraphics", "repo": "hyprgraphics",
"rev": "c7225d73755a6c4c7c72f4d4f3925ea426e325a8", "rev": "621e2e00f1736aa18c68f7dfbf2b9cff94b8cc4d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -410,11 +324,11 @@
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1750106438, "lastModified": 1757423991,
"narHash": "sha256-zaTFR6NLaXkveEGl2kdl4UlvT7eHm3cYSbgSkibCO+M=", "narHash": "sha256-tL+b6WC4gJJSo6wjNVIZpQ0DsYg8RmoGHxYuk6jJKbU=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "Hyprland", "repo": "Hyprland",
"rev": "0ece4af36a988ad06b28ed666011d84372d9e4dc", "rev": "150d693fe794a01aab762a18d2d8a2c8bc54b43c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -503,11 +417,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1749155776, "lastModified": 1753819801,
"narHash": "sha256-t1PM0wxQLQwv2F2AW23uA7pm5giwmcgYEWbNIRct9r4=", "narHash": "sha256-tHe6XeNeVeKapkNM3tcjW4RuD+tB2iwwoogWJOtsqTI=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprland-qtutils", "repo": "hyprland-qtutils",
"rev": "396e8aa1c06274835b69da7f9a015fff9a9b7522", "rev": "b308a818b9dcaa7ab8ccab891c1b84ebde2152bc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -532,11 +446,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1749145882, "lastModified": 1756810301,
"narHash": "sha256-qr0KXeczF8Sma3Ae7+dR2NHhvG7YeLBJv19W4oMu6ZE=", "narHash": "sha256-wgZ3VW4VVtjK5dr0EiK9zKdJ/SOqGIBXVG85C3LVxQA=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprlang", "repo": "hyprlang",
"rev": "1bfb84f54d50c7ae6558c794d3cfd5f6a7e6e676", "rev": "3d63fb4a42c819f198deabd18c0c2c1ded1de931",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -557,11 +471,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1749819919, "lastModified": 1756117388,
"narHash": "sha256-7F/KG8dwSH9JXdlpOVrEEArS+PJSn0iEnx5eVCk89/I=", "narHash": "sha256-oRDel6pNl/T2tI+nc/USU9ZP9w08dxtl7hiZxa0C/Wc=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprutils", "repo": "hyprutils",
"rev": "57ab2a867d8b554ad89f29060c15efd11631db91", "rev": "b2ae3204845f5f2f79b4703b441252d8ad2ecfd0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -582,11 +496,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1749145760, "lastModified": 1755184602,
"narHash": "sha256-IHaGWpGrv7seFWdw/1A+wHtTsPlOGIKMrk1TUIYJEFI=", "narHash": "sha256-RCBQN8xuADB0LEgaKbfRqwm6CdyopE1xIEhNc67FAbw=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprwayland-scanner", "repo": "hyprwayland-scanner",
"rev": "817918315ea016cc2d94004bfb3223b5fd9dfcc6", "rev": "b3b0f1f40ae09d4447c20608e5a4faf8bf3c492d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -613,11 +527,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1749794982, "lastModified": 1757068644,
"narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=", "narHash": "sha256-NOrUtIhTkIIumj1E/Rsv1J37Yi3xGStISEo8tZm3KW4=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81", "rev": "8eb28adfa3dc4de28e792e3bf49fcf9007ca8ac9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -629,11 +543,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1749794982, "lastModified": 1757347588,
"narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=", "narHash": "sha256-tLdkkC6XnsY9EOZW9TlpesTclELy8W7lL2ClL+nma8o=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81", "rev": "b599843bad24621dcaa5ab60dac98f9b0eb1cabe",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -645,11 +559,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1750005367, "lastModified": 1757408970,
"narHash": "sha256-h/aac1dGLhS3qpaD2aZt25NdKY7b+JT0ZIP2WuGsJMU=", "narHash": "sha256-aSgK4BLNFFGvDTNKPeB28lVXYqVn8RdyXDNAvgGq+k0=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "6c64dabd3aa85e0c02ef1cdcb6e1213de64baee3", "rev": "d179d77c139e0a3f5c416477f7747e9d6b7ec315",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -661,20 +575,46 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1743703532, "lastModified": 1751211869,
"narHash": "sha256-s1KLDALEeqy+ttrvqV3jx9mBZEvmthQErTVOAzbjHZs=", "narHash": "sha256-1Cu92i1KSPbhPCKxoiVG5qnoRiKTgR5CcGSRyLpOd7Y=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "bdb91860de2f719b57eef819b5617762f7120c70", "rev": "b43c397f6c213918d6cfe6e3550abfe79b5d1c51",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-24.11", "ref": "nixos-25.05",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "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": { "pre-commit-hooks": {
"inputs": { "inputs": {
"flake-compat": "flake-compat", "flake-compat": "flake-compat",
@@ -685,11 +625,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1749636823, "lastModified": 1757239681,
"narHash": "sha256-WUaIlOlPLyPgz9be7fqWJA5iG6rHcGRtLERSCfUDne4=", "narHash": "sha256-E9spYi9lxm2f1zWQLQ7xQt8Xs2nWgr1T4QM7ZjLFphM=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "623c56286de5a3193aa38891a6991b28f9bab056", "rev": "ab82ab08d6bf74085bd328de2a8722c12d97bd9d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -718,11 +658,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1750119275, "lastModified": 1757449901,
"narHash": "sha256-Rr7Pooz9zQbhdVxux16h7URa6mA80Pb/G07T4lHvh0M=", "narHash": "sha256-qwN8nYdSRnmmyyi+uR6m4gXnVktmy5smG1MOrSFD8PI=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "77c423a03b9b2b79709ea2cb63336312e78b72e2", "rev": "3b4a369df9dd6ee171a7ea4448b50e2528faf850",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -738,28 +678,28 @@
"base16-helix": "base16-helix", "base16-helix": "base16-helix",
"base16-vim": "base16-vim", "base16-vim": "base16-vim",
"firefox-gnome-theme": "firefox-gnome-theme", "firefox-gnome-theme": "firefox-gnome-theme",
"flake-compat": "flake-compat_2", "flake-parts": "flake-parts",
"flake-utils": "flake-utils",
"git-hooks": "git-hooks",
"gnome-shell": "gnome-shell", "gnome-shell": "gnome-shell",
"home-manager": "home-manager_2",
"nixpkgs": "nixpkgs_3", "nixpkgs": "nixpkgs_3",
"nur": "nur",
"systems": "systems_2", "systems": "systems_2",
"tinted-foot": "tinted-foot", "tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty", "tinted-kitty": "tinted-kitty",
"tinted-tmux": "tinted-tmux" "tinted-schemes": "tinted-schemes",
"tinted-tmux": "tinted-tmux",
"tinted-zed": "tinted-zed"
}, },
"locked": { "locked": {
"lastModified": 1747771231, "lastModified": 1757361712,
"narHash": "sha256-DYdmj22ZvkN5x9/VtdV5Wnze+UaPuboYraCPnOWn6u4=", "narHash": "sha256-GwObJtrAqVim66e4Jb5VzAKT6zGFJ3KOi63rfcrfMV4=",
"owner": "danth", "owner": "danth",
"repo": "stylix", "repo": "stylix",
"rev": "66f554e4e32d804bcf2c007a7b7efef04a3773b0", "rev": "3bf1430ed85a4484e4e1facee2344d2bb20288e6",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "danth", "owner": "danth",
"ref": "release-24.11", "ref": "release-25.05",
"repo": "stylix", "repo": "stylix",
"type": "github" "type": "github"
} }
@@ -814,28 +754,43 @@
"tinted-kitty": { "tinted-kitty": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1716423189, "lastModified": 1735730497,
"narHash": "sha256-2xF3sH7UIwegn+2gKzMpFi3pk5DlIlM18+vj17Uf82U=", "narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=",
"owner": "tinted-theming", "owner": "tinted-theming",
"repo": "tinted-kitty", "repo": "tinted-kitty",
"rev": "eb39e141db14baef052893285df9f266df041ff8", "rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "tinted-theming", "owner": "tinted-theming",
"repo": "tinted-kitty", "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" "type": "github"
} }
}, },
"tinted-tmux": { "tinted-tmux": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1743296873, "lastModified": 1751159871,
"narHash": "sha256-8IQulrb1OBSxMwdKijO9fB70ON//V32dpK9Uioy7FzY=", "narHash": "sha256-UOHBN1fgHIEzvPmdNMHaDvdRMgLmEJh2hNmDrp3d3LE=",
"owner": "tinted-theming", "owner": "tinted-theming",
"repo": "tinted-tmux", "repo": "tinted-tmux",
"rev": "af5152c8d7546dfb4ff6df94080bf5ff54f64e3a", "rev": "bded5e24407cec9d01bd47a317d15b9223a1546c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -844,6 +799,44 @@
"type": "github" "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": { "watt": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -893,11 +886,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1749490041, "lastModified": 1755354946,
"narHash": "sha256-R9Dn9IyUdPaJHD2Oqd7XJnnxpka6M6UYw4Ld0iA46HM=", "narHash": "sha256-zdov5f/GcoLQc9qYIS1dUTqtJMeDqmBmo59PAxze6e4=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland", "repo": "xdg-desktop-portal-hyprland",
"rev": "3cf35e178bc192ee51e3fddfd69e531e2c106a30", "rev": "a10726d6a8d0ef1a0c645378f983b6278c42eaa0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -908,17 +901,17 @@
}, },
"zen-browser": { "zen-browser": {
"inputs": { "inputs": {
"home-manager": "home-manager_3", "home-manager": "home-manager_2",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1750130285, "lastModified": 1757395105,
"narHash": "sha256-fauK56RkWQcNaDOehxxE2lcmNG0Vi++4KWlFQIJm4QE=", "narHash": "sha256-kwctEcCrHXZg80POmuOfqRqxSjy8bXhdBuNcRWaEpFA=",
"owner": "0xc000022070", "owner": "0xc000022070",
"repo": "zen-browser-flake", "repo": "zen-browser-flake",
"rev": "00b7edda741d3380fa123f053efd59774361d888", "rev": "d7b87e67233fdb42e655600f3de4c2e8a13bc6a7",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -11,7 +11,7 @@
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.4.1"; nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.4.1";
# hyprland, plugins and related utils # hyprland, plugins and related utils
hyprland.url = "github:hyprwm/Hyprland"; 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
zen-browser.url = "github:0xc000022070/zen-browser-flake"; zen-browser.url = "github:0xc000022070/zen-browser-flake";
# IMPORTANT: we're using "libgbm" and is only available in unstable so ensure # IMPORTANT: we're using "libgbm" and is only available in unstable so ensure

View File

@@ -3,7 +3,7 @@ Installed using
> sudo nixos-install --root /tmp/new-install/ --flake .#nyx --impure --no-root-passwd > 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: The root user is effectively deactivated, hence the additional setup:
- users are part of the `wheel` group - users are part of the `wheel` group

View File

@@ -12,6 +12,20 @@
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ]; boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ]; 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."/" = fileSystems."/" =
{ device = "/dev/disk/by-uuid/1ea0784c-4eeb-46f1-a0ae-f6b311b27bd1"; { device = "/dev/disk/by-uuid/1ea0784c-4eeb-46f1-a0ae-f6b311b27bd1";
@@ -37,23 +51,26 @@
}; };
# TODO - only enable this if the user remy exists # 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"; { device = "/dev/disk/by-uuid/1ea0784c-4eeb-46f1-a0ae-f6b311b27bd1";
fsType = "btrfs"; 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 # TODO make it owned by the user
}; };
swapDevices = [ ]; swapDevices = [ ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # Enables DHCP on each ethernet and wireless interface.
# (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.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true; 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"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
} }

View File

@@ -0,0 +1,9 @@
{pkgs, ...}:
{
home.packages = [
pkgs.rofi-bluetooth
];
# patch the rofi-bluetooth script to use an alternative rofi-command variable
}

View File

@@ -10,17 +10,32 @@ let
# Nix environment selector # Nix environment selector
arrterian.nix-env-selector arrterian.nix-env-selector
]; ];
# baseExtensions = with pkgs; [
# (vscode-with-extensions.override {
# vscodeExtensions = with vscode-extensions; [
# bbenoist.nix
# ];
# })
# ];
baseSettings = { baseSettings = {
# visual # 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"; "editor.fontFamily" = "'FiraCode Nerd Font Mono', 'monospace', monospace";
"terminal.integrated.fontFamily" = "FiraCode Nerd Font Mono"; "terminal.integrated.fontFamily" = "FiraCode Nerd Font Mono";
"workbench.iconTheme" = "vs-seti"; "workbench.iconTheme" = "vs-seti";
# telemetry # telemetry
"telemetry.enableCrashReporter" = false; "telemetry.telemetryLevel" = "off";
"telemetry.enableTelemetry" = false;
"redhat.telemetry.enabled" = false; "redhat.telemetry.enabled" = false;
# editor QOL # editor QOL
@@ -127,7 +142,6 @@ in
ms-python.vscode-pylance ms-python.vscode-pylance
ms-toolsai.vscode-jupyter-slideshow ms-toolsai.vscode-jupyter-slideshow
ms-toolsai.jupyter-renderers ms-toolsai.jupyter-renderers
# Typst # Typst
myriad-dreamin.tinymist myriad-dreamin.tinymist
]) ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [ ]) ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
@@ -174,7 +188,6 @@ in
"editor.wordSeparators" = "`~!@#$%^&*()=+[{]}\\|;:'\",.<>/?"; "editor.wordSeparators" = "`~!@#$%^&*()=+[{]}\\|;:'\",.<>/?";
}; };
"[typst-code]" = { "[typst-code]" = {
"git.openRepositoryInParentFolders" = "never";
"editor.wordSeparators" = "`~!@#$%^&*()=+[{]}\\|;:'\",.<>/?"; "editor.wordSeparators" = "`~!@#$%^&*()=+[{]}\\|;:'\",.<>/?";
}; };
"tinymist.fontPaths" = [ "tinymist.fontPaths" = [

View File

@@ -8,7 +8,6 @@
services.flatpak.uninstallUnmanaged = false; services.flatpak.uninstallUnmanaged = false;
services.flatpak.packages = [ services.flatpak.packages = [
"com.github.flxzt.rnote"
"com.github.tchx84.Flatseal" "com.github.tchx84.Flatseal"
"com.spotify.Client" "com.spotify.Client"
"io.podman_desktop.PodmanDesktop" "io.podman_desktop.PodmanDesktop"

View File

@@ -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;
};
};
};
};
}

View File

@@ -4,9 +4,9 @@
enable = true; enable = true;
settings = { settings = {
general = { general = {
# avoid starting multiple hyprlock instances. # See: https://github.com/hyprwm/hypridle/issues/146
before_sleep_cmd = "pidof hyprlock || hyprlock --immediate-render --no-fade-in"; before_sleep_cmd = "hyprlock --no-fade-in";
lock_cmd = "pidof hyprlock || hyprlock --immediate-render --no-fade-in"; lock_cmd = "hyprlock";
after_sleep_cmd = "hyprctl dispatch dpms on"; after_sleep_cmd = "hyprctl dispatch dpms on";
ignore_dbus_inhibit = false; ignore_dbus_inhibit = false;
}; };
@@ -22,7 +22,7 @@
{ {
# dim screen after 2 minutes # dim screen after 2 minutes
timeout = 120; timeout = 120;
on-timeout = "brightnessctl -s set 2"; on-timeout = "brightnessctl -s set 2%";
on-resume = "brightnessctl -r"; on-resume = "brightnessctl -r";
# monitor backlight restore. # monitor backlight restore.
} }
@@ -40,6 +40,5 @@
} }
]; ];
}; };
}; };
} }

View File

@@ -11,6 +11,7 @@ in
"wl-paste --watch cliphist store" "wl-paste --watch cliphist store"
"${lib.getExe pkgs.waybar}" "${lib.getExe pkgs.waybar}"
"${lib.getExe pkgs.hypridle}" "${lib.getExe pkgs.hypridle}"
# TODO - currently broken
"${pkgs.owncloud-client}" "${pkgs.owncloud-client}"
"${lib.getExe pkgs.keepassxc}" "${lib.getExe pkgs.keepassxc}"
]; ];

View File

@@ -23,6 +23,9 @@ in
enable = true; enable = true;
systemd.enable = true; systemd.enable = true;
settings = { settings = {
# debug = {
# disable_logs = false;
# };
general = { general = {
resize_on_border = true; resize_on_border = true;
gaps_in = 5; gaps_in = 5;
@@ -98,6 +101,9 @@ in
# the internal monitor, always at the "center" # the internal monitor, always at the "center"
"eDP-1, ${cfg.internal-screen.resolution}, 0x0, ${cfg.internal-screen.scale}" "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) # Samsung monitors at irchel (matching the description)
"desc:Samsung Electric Company LS27D80xU, 2560x1440@59.95, auto-up, 1" "desc:Samsung Electric Company LS27D80xU, 2560x1440@59.95, auto-up, 1"
@@ -126,7 +132,7 @@ in
# Global overview # Global overview
pkgs.hyprlandPlugins.hyprspace pkgs.hyprlandPlugins.hyprspace
# Touch gestures # Touch gestures
pkgs.hyprlandPlugins.hyprgrass # pkgs.hyprlandPlugins.hyprgrass
]; ];
}; };
}; };

View File

@@ -28,7 +28,7 @@ in
# Close window # Close window
"$mod, Q, killactive," "$mod, Q, killactive,"
# Force close window # Force close window
# "$mod+Shift, Q, forcekillactive," "$mod+Shift, Q, forcekillactive,"
# Toggle Floating and reduce size # Toggle Floating and reduce size
"$mod, f, togglefloating," "$mod, f, togglefloating,"
@@ -49,21 +49,25 @@ in
"$mod+Shift, up, movewindow, u" "$mod+Shift, up, movewindow, u"
"$mod+Shift, down, movewindow, d" "$mod+Shift, down, movewindow, d"
# Move window to workspace
"$mod+Ctrl, left, movetoworkspace, -1" "$mod+Ctrl, left, movetoworkspace, -1"
"$mod+Ctrl, right, movetoworkspace, +1" "$mod+Ctrl, right, movetoworkspace, +1"
# Switch workspace # Switch workspace
"$mod+Alt, left, workspace, -1" "$mod, left, workspace, -1"
"$mod+Alt, right, workspace, +1" "$mod, right, workspace, +1"
"$mod, mouse_down, workspace, -1" "$mod, mouse_down, workspace, -1"
"$mod, mouse_up, workspace, +1" "$mod, mouse_up, workspace, +1"
# move to scratch workspace # move to scratch workspace
"$mod+Ctrl, up, movetoworkspace, special:magic" "$mod+Ctrl, up, movetoworkspace, special:magic"
"$mod+Ctrl, down, movetoworkspace, 1" "$mod+Ctrl, down, movetoworkspace, prev"
# toggle scratch workspace
"$mod+Alt, up, togglespecialworkspace, magic" # switch to scratch workspace
"$mod+Alt, down, togglespecialworkspace, magic" "$mod, up, togglespecialworkspace, magic"
"$mod, down, togglespecialworkspace, magic"
# Screenshot # Screenshot
"$mod, Print, exec, hyprshot -m region -o ~/Pictures/Screenshots" "$mod, Print, exec, hyprshot -m region -o ~/Pictures/Screenshots"
@@ -80,7 +84,7 @@ in
# Other pickers using the same launcher # Other pickers using the same launcher
"$mod+Ctrl, space, exec, ${lib.getExe config.nix-config.filePicker}" "$mod+Ctrl, space, exec, ${lib.getExe config.nix-config.filePicker}"
"$mod, period, exec, ${lib.getExe config.nix-config.emojiPicker}"
]; ];
# repeatable bindings # repeatable bindings
@@ -97,25 +101,26 @@ in
"$mod, KP_Subtract, resizeactive, -2% -2%" "$mod, KP_Subtract, resizeactive, -2% -2%"
"$mod, PLUS, resizeactive, 2% 2%" "$mod, PLUS, resizeactive, 2% 2%"
"$mod, KP_Add, resizeactive, 2% 2%" "$mod, KP_Add, resizeactive, 2% 2%"
]; ];
# lock-screen bindings # lock-screen bindings
bindl = [ bindl = [
## depending on the setup: lock screen or switch to clamshell mode ", XF86PowerOff, exec, hyprctl dispatch dpms on eDP-1"
# in any case, the internal screen is turned off ## depending on the setup we expect different behaviors when closing the lid:
# ", switch:on:Lid Switch, exec, loginctl lock-session" # 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 # 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, hyprctl keyword monitor 'eDP-1,disable"
", 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"
## on reopening the lid, turn the internal screen back on ## on reopening the lid, turn the internal screen back on
", switch:off:Lid Switch, exec, hyprctl dispatch dpms on eDP-1" ", 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 # we need to reload the monitor configuration so that the internal screen is turned back on
", switch:off:Lid Switch, exec, hyprctl monitors | grep 'ID 1' && hyprctl reload" ", switch:off:Lid Switch, exec, hyprctl reload"
]; ];
# bindr = [ # bindr = [
@@ -129,7 +134,21 @@ in
# resize the window using right click # resize the window using right click
"$mod, mouse:273, resizewindow" "$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
'';
}; };
}; };
} }

View File

@@ -5,16 +5,12 @@
settings = { settings = {
# # prevent the screen being shown for a split second
# animations = {
# animation = "fadeIn, 0, 0, linear";
# };
general = { general = {
# immediately lock the screen # immediately lock the screen
grace = 0; grace = 0;
no_fade_in = false; # no_fade_in = false;
disable_loading_bar = false; # disable_loading_bar = false;
}; };
background = { background = {

View File

@@ -17,7 +17,6 @@ in
config = { config = {
# required to autoload fonts from packages installed via Home Manager # required to autoload fonts from packages installed via Home Manager
fonts.fontconfig.enable = true; fonts.fontconfig.enable = true;
@@ -85,14 +84,17 @@ in
}; };
}; };
"clock" = { "clock" = {
format = " {:%H:%M}"; format = "{:%H:%M}";
interval = 1; interval = 1;
tooltip-format = "{calendar}"; tooltip-format = "{calendar}";
calendar = { # calendar = {
"format" = { # format = "%Y-%m-%d\n󰃰 %A\n\n%H:%M";
"today" = "<span color='#fAfBfC'><b>{}</b></span>"; # start-day = 1; # Monday
}; # first-weekday = 1; # Monday
}; # week-number = false;
# long-weekdays = true;
# hide-if-empty = false;
# };
}; };
"idle_inhibitor" = { "idle_inhibitor" = {
format = "{icon}"; format = "{icon}";
@@ -104,7 +106,7 @@ in
}; };
"bluetooth" = { "bluetooth" = {
format-on = "󰂯"; format-on = "󰂯";
format-off = "BT-off"; format-off = "󰂲";
format-disabled = "󰂲"; format-disabled = "󰂲";
format-connected-battery = "{device_battery_percentage}% 󰂯"; format-connected-battery = "{device_battery_percentage}% 󰂯";
format-alt = "{device_alias} 󰂯"; format-alt = "{device_alias} 󰂯";
@@ -137,7 +139,7 @@ in
format = "{volume}% {icon}";# {format_source}"; format = "{volume}% {icon}";# {format_source}";
format-bluetooth = "{volume}% {icon}";# {format_source}"; format-bluetooth = "{volume}% {icon}";# {format_source}";
format-bluetooth-muted = " {icon}";# {format_source}"; format-bluetooth-muted = " {icon}";# {format_source}";
format-muted = "🔇";# {format_source}"; format-muted = "";# {format_source}";
format-alt = "{format_source} {icon}"; format-alt = "{format_source} {icon}";
# format-source = " {volume}%"; # format-source = " {volume}%";
# format-source-muted = ""; # format-source-muted = "";

View File

@@ -47,6 +47,8 @@ in
cursor_trail_decay = "0.1 0.4"; cursor_trail_decay = "0.1 0.4";
url_style = "curly"; url_style = "curly";
notify_on_cmd_finish = "unfocused"; notify_on_cmd_finish = "unfocused";
window_padding_width = 5;
}; };
keybindings = { keybindings = {

View File

@@ -33,6 +33,10 @@ let
exit 1 exit 1
fi 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 in
{ {
@@ -54,6 +58,12 @@ in
type = lib.types.package; type = lib.types.package;
default = filePicker; default = filePicker;
}; };
emojiPicker = lib.mkOption {
description = "Package to use as a emoji picker";
type = lib.types.package;
default = emojiPicker;
};
}; };
config = { config = {
@@ -107,6 +117,7 @@ in
home.packages = with pkgs; [ home.packages = with pkgs; [
powerMenu powerMenu
filePicker filePicker
emojiPicker
]; ];
}; };
} }

View File

@@ -52,7 +52,8 @@ in
stylix = { stylix = {
# Stylix is already enabled since the system is configured to use it # 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 # don't theme applications by default
autoEnable = false; autoEnable = false;
@@ -68,8 +69,8 @@ in
}; };
image = ./../../wallpapers/magicpattern-87PP9Zd7MNo-unsplash.jpg;
polarity = lib.mkDefault "dark";
fonts = { fonts = {
@@ -107,9 +108,8 @@ in
popups = 0.9; popups = 0.9;
terminal = cfg.terminalOpacity; terminal = cfg.terminalOpacity;
}; };
};
stylix.base16Scheme = { base16Scheme = {
scheme = "onelight"; scheme = "onelight";
author = "https://github.com/one-dark"; author = "https://github.com/one-dark";
base00 = "#fafafa"; base00 = "#fafafa";
@@ -128,20 +128,55 @@ in
base0D = "#4078f2"; base0D = "#4078f2";
base0E = "#a626a4"; base0E = "#a626a4";
base0F = "#986801"; base0F = "#986801";
}; };
stylix.targets = { targets = {
hyprpaper.enable = true; hyprpaper.enable = true;
hyprlock.enable = true; hyprlock.enable = true;
gnome.enable = true;
# disabled because they overwrite too many settings # disabled because they overwrite too many settings
# wofi.enable = true; # gnome
# vscode.enable = true; # wofi
# waybar.enable = true; # vscode
# kitty.enable = true; # waybar
# kitty
fontconfig.enable = true;
font-packages.enable = true;
};
};
# 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"
'';
}))
];
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"
'';
}))
];
}; };
}; };
} }

View File

@@ -26,17 +26,6 @@
hardware.bluetooth = { hardware.bluetooth = {
enable = true; enable = true;
# powerOnBoot = true; powerOnBoot = false;
# settings = {
# General = {
# Name = "Nixtre";
# ControllerMode = "dual";
# FastConnectable = "true";
# Experimental = "true";
# };
# Policy = {
# AutoEnable = "true";
# };
# };
}; };
} }

View File

@@ -20,9 +20,9 @@
services.tlp = { services.tlp = {
enable = true; enable = true;
settings = { settings = {
# processor chooses frequencies itself # processor chooses frequencies itself but respects the limits set by the user
CPU_DRIVER_OPMODE_ON_AC = "active"; CPU_DRIVER_OPMODE_ON_AC = "guided";
CPU_DRIVER_OPMODE_ON_BAT = "active"; CPU_DRIVER_OPMODE_ON_BAT = "guided";
# governor dictates global behavior of the CPU # governor dictates global behavior of the CPU
CPU_SCALING_GOVERNOR_ON_BAT = "powersave"; CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
@@ -32,78 +32,29 @@
CPU_ENERGY_PERF_POLICY_ON_BAT = "balance_power"; CPU_ENERGY_PERF_POLICY_ON_BAT = "balance_power";
CPU_ENERGY_PERF_POLICY_ON_AC = "performance"; CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
# CPU_MIN_PERF_ON_AC = 0;
# CPU_MAX_PERF_ON_AC = 100; # clock speeds reported by `sudo tlp-stat`
# CPU_MIN_PERF_ON_BAT = 0; # 623377 [kHz] and 5090910 [kHz]
# CPU_MAX_PERF_ON_BAT = 50; # 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 # enable battery charge thresholds on the default battery
STOP_CHARGE_THRESH_BAT0 = 1; 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 = '' systemd.sleep.extraConfig = ''
AllowSuspend=yes AllowSuspend=yes
AllowHibernation=yes AllowHibernation=yes

View File

@@ -5,7 +5,29 @@
... ...
}: }:
{ {
stylix.enable = true; stylix = {
stylix.image = ./../../wallpapers/magicpattern-87PP9Zd7MNo-unsplash.jpg; 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";
};
};
} }

View File

@@ -20,6 +20,7 @@ in
isNormalUser = true; isNormalUser = true;
extraGroups = [ extraGroups = [
"wheel" # Enable sudo for the user. "wheel" # Enable sudo for the user.
"input"
# other groups are added as needed, eg. networkmanager # other groups are added as needed, eg. networkmanager
]; ];
}; };

View File

@@ -22,6 +22,7 @@ with lib.hm.gvariant;
../../modules/home-manager/documents.nix ../../modules/home-manager/documents.nix
../../modules/home-manager/fish.nix ../../modules/home-manager/fish.nix
../../modules/home-manager/flatpaks.nix ../../modules/home-manager/flatpaks.nix
../../modules/home-manager/fusuma.nix
../../modules/home-manager/hypr ../../modules/home-manager/hypr
../../modules/home-manager/keepassxc.nix ../../modules/home-manager/keepassxc.nix
../../modules/home-manager/kitty.nix ../../modules/home-manager/kitty.nix