From 9e89a97d16d5cc697c3f1d9b2572609d9755c133 Mon Sep 17 00:00:00 2001 From: adikro Date: Mon, 10 Nov 2025 23:32:21 +0100 Subject: test --- .gitignore | 2 + flake.lock | 1859 ++++++++++++++++++++++++++++++ flake.nix | 74 ++ home/editors/helix.nix | 7 + home/editors/nixvim.nix | 12 + home/editors/nvf.nix | 42 + home/home.nix | 119 ++ home/programs/librewolf.nix | 6 + home/programs/nixcord.nix | 136 +++ home/programs/spicetify.nix | 22 + home/shells/fish.nix | 17 + home/shells/starship.nix | 10 + home/stylix.nix | 8 + home/terminals/foot.nix | 25 + home/wayland/eww.nix | 7 + home/wayland/hyprland/binds.nix | 65 ++ home/wayland/waybar.nix | 211 ++++ home/wayland/xdg.nix | 37 + hosts/desktop/configuration.nix | 155 +++ hosts/desktop/hardware-configuration.nix | 49 + modules/audio.nix | 26 + modules/boot.nix | 19 + modules/disko.nix | 6 + modules/firefox.nix | 7 + modules/greet.nix | 26 + modules/memory.nix | 16 + modules/networking.nix | 19 + modules/scx.nix | 14 + modules/tor.nix | 34 + modules/virtualization.nix | 14 + 30 files changed, 3044 insertions(+) create mode 100644 .gitignore create mode 100644 flake.lock create mode 100644 flake.nix create mode 100644 home/editors/helix.nix create mode 100644 home/editors/nixvim.nix create mode 100644 home/editors/nvf.nix create mode 100644 home/home.nix create mode 100644 home/programs/librewolf.nix create mode 100644 home/programs/nixcord.nix create mode 100644 home/programs/spicetify.nix create mode 100644 home/shells/fish.nix create mode 100644 home/shells/starship.nix create mode 100644 home/stylix.nix create mode 100644 home/terminals/foot.nix create mode 100644 home/wayland/eww.nix create mode 100644 home/wayland/hyprland/binds.nix create mode 100644 home/wayland/waybar.nix create mode 100644 home/wayland/xdg.nix create mode 100644 hosts/desktop/configuration.nix create mode 100644 hosts/desktop/hardware-configuration.nix create mode 100644 modules/audio.nix create mode 100644 modules/boot.nix create mode 100644 modules/disko.nix create mode 100644 modules/firefox.nix create mode 100644 modules/greet.nix create mode 100644 modules/memory.nix create mode 100644 modules/networking.nix create mode 100644 modules/scx.nix create mode 100644 modules/tor.nix create mode 100644 modules/virtualization.nix diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f6ac161 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +home/private.nix +result diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..a23f8ed --- /dev/null +++ b/flake.lock @@ -0,0 +1,1859 @@ +{ + "nodes": { + "aquamarine": { + "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprland", + "hyprwayland-scanner" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1762356719, + "narHash": "sha256-qwd/xdoOya1m8FENle+4hWnydCtlXUWLAW/Auk6WL7s=", + "owner": "hyprwm", + "repo": "aquamarine", + "rev": "6d0b3567584691bf9d8fedb5d0093309e2f979c7", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "aquamarine", + "type": "github" + } + }, + "awww": { + "inputs": { + "flake-compat": "flake-compat", + "nixpkgs": "nixpkgs", + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1762654010, + "narHash": "sha256-dE30/wdX5Jsl9b/894obDEkain0qfTeO1lAGQ9Ysrao=", + "ref": "refs/heads/main", + "rev": "06bfecbf6cc9fd2c6bbce6a0c8a8259cf2a184ba", + "revCount": 1278, + "type": "git", + "url": "https://codeberg.org/LGFae/awww" + }, + "original": { + "type": "git", + "url": "https://codeberg.org/LGFae/awww" + } + }, + "base16": { + "inputs": { + "fromYaml": "fromYaml" + }, + "locked": { + "lastModified": 1755819240, + "narHash": "sha256-qcMhnL7aGAuFuutH4rq9fvAhCpJWVHLcHVZLtPctPlo=", + "owner": "SenchoPens", + "repo": "base16.nix", + "rev": "75ed5e5e3fce37df22e49125181fa37899c3ccd6", + "type": "github" + }, + "original": { + "owner": "SenchoPens", + "repo": "base16.nix", + "type": "github" + } + }, + "base16-fish": { + "flake": false, + "locked": { + "lastModified": 1754405784, + "narHash": "sha256-l9xHIy+85FN+bEo6yquq2IjD1rSg9fjfjpyGP1W8YXo=", + "owner": "tomyun", + "repo": "base16-fish", + "rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561", + "type": "github" + }, + "original": { + "owner": "tomyun", + "repo": "base16-fish", + "rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561", + "type": "github" + } + }, + "base16-helix": { + "flake": false, + "locked": { + "lastModified": 1752979451, + "narHash": "sha256-0CQM+FkYy0fOO/sMGhOoNL80ftsAzYCg9VhIrodqusM=", + "owner": "tinted-theming", + "repo": "base16-helix", + "rev": "27cf1e66e50abc622fb76a3019012dc07c678fac", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-helix", + "type": "github" + } + }, + "base16-vim": { + "flake": false, + "locked": { + "lastModified": 1732806396, + "narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=", + "owner": "tinted-theming", + "repo": "base16-vim", + "rev": "577fe8125d74ff456cf942c733a85d769afe58b7", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-vim", + "rev": "577fe8125d74ff456cf942c733a85d769afe58b7", + "type": "github" + } + }, + "chaotic": { + "inputs": { + "flake-schemas": "flake-schemas", + "home-manager": "home-manager", + "jovian": "jovian", + "nixpkgs": "nixpkgs_2", + "rust-overlay": "rust-overlay_2" + }, + "locked": { + "lastModified": 1762736304, + "narHash": "sha256-IZh6dOZf22la7rF23WwQ4y7ncrciqKqT0CUJ6abEAIk=", + "owner": "chaotic-cx", + "repo": "nyx", + "rev": "45073419e0a46bf106f025858e93b633e255e402", + "type": "github" + }, + "original": { + "owner": "chaotic-cx", + "ref": "nyxpkgs-unstable", + "repo": "nyx", + "type": "github" + } + }, + "disko": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1746728054, + "narHash": "sha256-eDoSOhxGEm2PykZFa/x9QG5eTH0MJdiJ9aR00VAofXE=", + "owner": "nix-community", + "repo": "disko", + "rev": "ff442f5d1425feb86344c028298548024f21256d", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "latest", + "repo": "disko", + "type": "github" + } + }, + "eww": { + "inputs": { + "flake-compat": "flake-compat_2", + "nixpkgs": "nixpkgs_3", + "rust-overlay": "rust-overlay_3" + }, + "locked": { + "lastModified": 1751292678, + "narHash": "sha256-PJW4LvW9FmkG9HyUtgXOq7MDjYtBc/iJuOxyf29nD0Y=", + "owner": "elkowar", + "repo": "eww", + "rev": "fddb4a09b107237819e661151e007b99b5cab36d", + "type": "github" + }, + "original": { + "owner": "elkowar", + "repo": "eww", + "type": "github" + } + }, + "firefox": { + "inputs": { + "flake-compat": "flake-compat_3", + "lib-aggregate": "lib-aggregate", + "nixpkgs": "nixpkgs_4" + }, + "locked": { + "lastModified": 1762778404, + "narHash": "sha256-3keFtswd2/2U03kCDRm8nvDyXfjIntrO+mkoVXKz/vo=", + "owner": "nix-community", + "repo": "flake-firefox-nightly", + "rev": "68a156245279b0f39c8ec6afdbeb3d127e8e2888", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "flake-firefox-nightly", + "type": "github" + } + }, + "firefox-gnome-theme": { + "flake": false, + "locked": { + "lastModified": 1758112371, + "narHash": "sha256-lizRM2pj6PHrR25yimjyFn04OS4wcdbc38DCdBVa2rk=", + "owner": "rafaelmardojai", + "repo": "firefox-gnome-theme", + "rev": "0909cfe4a2af8d358ad13b20246a350e14c2473d", + "type": "github" + }, + "original": { + "owner": "rafaelmardojai", + "repo": "firefox-gnome-theme", + "type": "github" + } + }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1761588595, + "narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_2": { + "locked": { + "lastModified": 1709944340, + "narHash": "sha256-xr54XK0SjczlUxRo5YwodibUSlpivS9bqHt8BNyWVQA=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "baa7aa7bd0a570b3b9edd0b8da859fee3ffaa4d4", + "type": "github" + }, + "original": { + "owner": "edolstra", + "ref": "refs/pull/65/head", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_3": { + "locked": { + "lastModified": 1761640442, + "narHash": "sha256-AtrEP6Jmdvrqiv4x2xa5mrtaIp3OEe8uBYCDZDS+hu8=", + "owner": "nix-community", + "repo": "flake-compat", + "rev": "4a56054d8ffc173222d09dad23adf4ba946c8884", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_4": { + "flake": false, + "locked": { + "lastModified": 1747046372, + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_5": { + "locked": { + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "revCount": 69, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz?rev=ff81ac966bb2cae68946d5ed5fc4994f96d0ffec&revCount=69" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" + } + }, + "flake-compat_6": { + "flake": false, + "locked": { + "lastModified": 1751685974, + "narHash": "sha256-NKw96t+BgHIYzHUjkTK95FqYRVKB8DHpVhefWSz/kTw=", + "ref": "refs/heads/main", + "rev": "549f2762aebeff29a2e5ece7a7dc0f955281a1d1", + "revCount": 92, + "type": "git", + "url": "https://git.lix.systems/lix-project/flake-compat.git" + }, + "original": { + "type": "git", + "url": "https://git.lix.systems/lix-project/flake-compat.git" + } + }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": [ + "neovim-nightly-overlay", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1762440070, + "narHash": "sha256-xxdepIcb39UJ94+YydGP221rjnpkDZUlykKuF54PsqI=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "26d05891e14c88eb4a5d5bee659c0db5afb609d8", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_2": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_2" + }, + "locked": { + "lastModified": 1754091436, + "narHash": "sha256-XKqDMN1/Qj1DKivQvscI4vmHfDfvYR2pfuFOJiCeewM=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "67df8c627c2c39c41dbec76a1f201929929ab0bd", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_3": { + "inputs": { + "nixpkgs-lib": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1762440070, + "narHash": "sha256-xxdepIcb39UJ94+YydGP221rjnpkDZUlykKuF54PsqI=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "26d05891e14c88eb4a5d5bee659c0db5afb609d8", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_4": { + "inputs": { + "nixpkgs-lib": [ + "nvf", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1760948891, + "narHash": "sha256-TmWcdiUUaWk8J4lpjzu4gCGxWY6/Ok7mOK4fIFfBuU4=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "864599284fc7c0ba6357ed89ed5e2cd5040f0c04", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_5": { + "inputs": { + "nixpkgs-lib": [ + "stylix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1756770412, + "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "4524271976b625a4a605beefd893f270620fd751", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-schemas": { + "locked": { + "lastModified": 1721999734, + "narHash": "sha256-G5CxYeJVm4lcEtaO87LKzOsVnWeTcHGKbKxNamNWgOw=", + "rev": "0a5c42297d870156d9c57d8f99e476b738dcd982", + "revCount": 75, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/flake-schemas/0.1.5/0190ef2f-61e0-794b-ba14-e82f225e55e6/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/DeterminateSystems/flake-schemas/%3D0.1.5.tar.gz" + } + }, + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_2": { + "inputs": { + "systems": "systems_3" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "fromYaml": { + "flake": false, + "locked": { + "lastModified": 1731966426, + "narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=", + "owner": "SenchoPens", + "repo": "fromYaml", + "rev": "106af9e2f715e2d828df706c386a685698f3223b", + "type": "github" + }, + "original": { + "owner": "SenchoPens", + "repo": "fromYaml", + "type": "github" + } + }, + "gitignore": { + "inputs": { + "nixpkgs": [ + "hyprland", + "pre-commit-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": 1748186689, + "narHash": "sha256-UaD7Y9f8iuLBMGHXeJlRu6U1Ggw5B9JnkFs3enZlap0=", + "owner": "GNOME", + "repo": "gnome-shell", + "rev": "8c88f917db0f1f0d80fa55206c863d3746fa18d0", + "type": "github" + }, + "original": { + "owner": "GNOME", + "ref": "48.2", + "repo": "gnome-shell", + "type": "github" + } + }, + "helix": { + "inputs": { + "nixpkgs": "nixpkgs_5", + "rust-overlay": "rust-overlay_4" + }, + "locked": { + "lastModified": 1762716787, + "narHash": "sha256-YfcY28igFL5ZPCTtVBaVUvnhcWg8tyiBVSlULpXEIeQ=", + "owner": "helix-editor", + "repo": "helix", + "rev": "a79292b630ae4a0e6e37814ad21411ab50926c73", + "type": "github" + }, + "original": { + "owner": "helix-editor", + "repo": "helix", + "type": "github" + } + }, + "home-manager": { + "inputs": { + "nixpkgs": [ + "chaotic", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1762661401, + "narHash": "sha256-SVmijc8t23UMwru5f/9X1Ak5bSwvYkm0OQ5SxR7hOB0=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "c053d701d64f0727f62e0269c7940da5805bc9bc", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "home-manager_2": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1762787259, + "narHash": "sha256-t2U/GLLXHa2+kJkwnFNRVc2fEJ/lUfyZXBE5iKzJdcs=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "37a3d97f2873e0f68711117c34d04b7c7ead8f4e", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "hyprcursor": { + "inputs": { + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1753964049, + "narHash": "sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM=", + "owner": "hyprwm", + "repo": "hyprcursor", + "rev": "44e91d467bdad8dcf8bbd2ac7cf49972540980a5", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprcursor", + "type": "github" + } + }, + "hyprgraphics": { + "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1762462052, + "narHash": "sha256-6roLYzcDf4V38RUMSqycsOwAnqfodL6BmhRkUtwIgdA=", + "owner": "hyprwm", + "repo": "hyprgraphics", + "rev": "ffc999d980c7b3bca85d3ebd0a9fbadf984a8162", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprgraphics", + "type": "github" + } + }, + "hyprland": { + "inputs": { + "aquamarine": "aquamarine", + "hyprcursor": "hyprcursor", + "hyprgraphics": "hyprgraphics", + "hyprland-guiutils": "hyprland-guiutils", + "hyprland-protocols": "hyprland-protocols", + "hyprlang": "hyprlang", + "hyprutils": "hyprutils", + "hyprwayland-scanner": "hyprwayland-scanner", + "nixpkgs": "nixpkgs_6", + "pre-commit-hooks": "pre-commit-hooks", + "systems": "systems_2", + "xdph": "xdph" + }, + "locked": { + "lastModified": 1762755326, + "narHash": "sha256-YYTzQUQDnVdtN3k40sC5kq6yL70riU8bM8cQLz38jzk=", + "owner": "hyprwm", + "repo": "Hyprland", + "rev": "0b1d690676589503f0addece30e936a240733699", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "Hyprland", + "type": "github" + } + }, + "hyprland-guiutils": { + "inputs": { + "aquamarine": [ + "hyprland", + "aquamarine" + ], + "hyprgraphics": [ + "hyprland", + "hyprgraphics" + ], + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "hyprtoolkit": "hyprtoolkit", + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprland", + "hyprwayland-scanner" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1762755186, + "narHash": "sha256-ZjjETUHtoEhVN7JI1Cbt3p/KcXpK8ZQaPHx7UkG1OgA=", + "owner": "hyprwm", + "repo": "hyprland-guiutils", + "rev": "66356e20a8ed348aa49c1b9ceace786e224225b3", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-guiutils", + "type": "github" + } + }, + "hyprland-protocols": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1759610243, + "narHash": "sha256-+KEVnKBe8wz+a6dTLq8YDcF3UrhQElwsYJaVaHXJtoI=", + "owner": "hyprwm", + "repo": "hyprland-protocols", + "rev": "bd153e76f751f150a09328dbdeb5e4fab9d23622", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-protocols", + "type": "github" + } + }, + "hyprlang": { + "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1758927902, + "narHash": "sha256-LZgMds7M94+vuMql2bERQ6LiFFdhgsEFezE4Vn+Ys3A=", + "owner": "hyprwm", + "repo": "hyprlang", + "rev": "4dafa28d4f79877d67a7d1a654cddccf8ebf15da", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprlang", + "type": "github" + } + }, + "hyprtoolkit": { + "inputs": { + "aquamarine": [ + "hyprland", + "hyprland-guiutils", + "aquamarine" + ], + "hyprgraphics": [ + "hyprland", + "hyprland-guiutils", + "hyprgraphics" + ], + "hyprlang": [ + "hyprland", + "hyprland-guiutils", + "hyprlang" + ], + "hyprutils": [ + "hyprland", + "hyprland-guiutils", + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprland", + "hyprland-guiutils", + "hyprwayland-scanner" + ], + "nixpkgs": [ + "hyprland", + "hyprland-guiutils", + "nixpkgs" + ], + "systems": [ + "hyprland", + "hyprland-guiutils", + "systems" + ] + }, + "locked": { + "lastModified": 1762463729, + "narHash": "sha256-2fYkU/mdz8WKY3dkDPlE/j6hTxIwqultsx4gMMsMns0=", + "owner": "hyprwm", + "repo": "hyprtoolkit", + "rev": "88483bdee5329ec985f0c8f834c519cd18cfe532", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprtoolkit", + "type": "github" + } + }, + "hyprutils": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1762387740, + "narHash": "sha256-gQ9zJ+pUI4o+Gh4Z6jhJll7jjCSwi8ZqJIhCE2oqwhQ=", + "owner": "hyprwm", + "repo": "hyprutils", + "rev": "926689ddb9c0a8787e58c02c765a62e32d63d1f7", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprutils", + "type": "github" + } + }, + "hyprwayland-scanner": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1755184602, + "narHash": "sha256-RCBQN8xuADB0LEgaKbfRqwm6CdyopE1xIEhNc67FAbw=", + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "rev": "b3b0f1f40ae09d4447c20608e5a4faf8bf3c492d", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "type": "github" + } + }, + "ixx": { + "inputs": { + "flake-utils": [ + "nixvim", + "nuschtosSearch", + "flake-utils" + ], + "nixpkgs": [ + "nixvim", + "nuschtosSearch", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1754860581, + "narHash": "sha256-EM0IE63OHxXCOpDHXaTyHIOk2cNvMCGPqLt/IdtVxgk=", + "owner": "NuschtOS", + "repo": "ixx", + "rev": "babfe85a876162c4acc9ab6fb4483df88fa1f281", + "type": "github" + }, + "original": { + "owner": "NuschtOS", + "ref": "v0.1.1", + "repo": "ixx", + "type": "github" + } + }, + "jovian": { + "inputs": { + "nix-github-actions": "nix-github-actions", + "nixpkgs": [ + "chaotic", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1762452596, + "narHash": "sha256-Iaga+mkwWnWa6FxsAYknpHzeP344VCKGkdudX420LgA=", + "owner": "Jovian-Experiments", + "repo": "Jovian-NixOS", + "rev": "99919fd35e70c1b18ce948d5329928d751031312", + "type": "github" + }, + "original": { + "owner": "Jovian-Experiments", + "repo": "Jovian-NixOS", + "type": "github" + } + }, + "lib-aggregate": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1754828166, + "narHash": "sha256-i7c+fpXVsnvj2+63Gl3YfU1hVyxbLeqeFj55ZBZACWI=", + "owner": "nix-community", + "repo": "lib-aggregate", + "rev": "f01c8d121a3100230612be96e4ac668e15eafb77", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "lib-aggregate", + "type": "github" + } + }, + "mnw": { + "locked": { + "lastModified": 1758834834, + "narHash": "sha256-Y7IvY4F8vajZyp3WGf+KaiIVwondEkMFkt92Cr9NZmg=", + "owner": "Gerg-L", + "repo": "mnw", + "rev": "cfbc7d1cc832e318d0863a5fc91d940a96034001", + "type": "github" + }, + "original": { + "owner": "Gerg-L", + "repo": "mnw", + "type": "github" + } + }, + "neovim-nightly-overlay": { + "inputs": { + "flake-parts": "flake-parts", + "neovim-src": "neovim-src", + "nixpkgs": "nixpkgs_7" + }, + "locked": { + "lastModified": 1762733080, + "narHash": "sha256-kgGO0tdvFChcUk3KXHwqrvKfY1Td3i4EehtE2xsch8s=", + "owner": "nix-community", + "repo": "neovim-nightly-overlay", + "rev": "383208e4ec49f9eb568d25fd9f5efa0625873e59", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "neovim-nightly-overlay", + "type": "github" + } + }, + "neovim-src": { + "flake": false, + "locked": { + "lastModified": 1762729645, + "narHash": "sha256-QnSYFDWlfQAtPWLtOY7Ab3SipYC5l27eCCJKX0i8jkY=", + "owner": "neovim", + "repo": "neovim", + "rev": "76fdd9b882489b233ca00a0809d719c70e48b164", + "type": "github" + }, + "original": { + "owner": "neovim", + "repo": "neovim", + "type": "github" + } + }, + "nix-github-actions": { + "inputs": { + "nixpkgs": [ + "chaotic", + "jovian", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1729697500, + "narHash": "sha256-VFTWrbzDlZyFHHb1AlKRiD/qqCJIripXKiCSFS8fAOY=", + "owner": "zhaofengli", + "repo": "nix-github-actions", + "rev": "e418aeb728b6aa5ca8c5c71974e7159c2df1d8cf", + "type": "github" + }, + "original": { + "owner": "zhaofengli", + "ref": "matrix-name", + "repo": "nix-github-actions", + "type": "github" + } + }, + "nixcord": { + "inputs": { + "flake-compat": "flake-compat_5", + "flake-parts": "flake-parts_2", + "nixpkgs": "nixpkgs_8" + }, + "locked": { + "lastModified": 1762564817, + "narHash": "sha256-2BPBalMQdW5ht6b+orcbdw59v5Wg7KpOO2zc/RaW6zE=", + "owner": "KaylorBen", + "repo": "nixcord", + "rev": "26aa9c7966eea82e524215ed5e2e8b7cf370931b", + "type": "github" + }, + "original": { + "owner": "KaylorBen", + "repo": "nixcord", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1761880412, + "narHash": "sha256-QoJjGd4NstnyOG4mm4KXF+weBzA2AH/7gn1Pmpfcb0A=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "a7fc11be66bdfb5cdde611ee5ce381c183da8386", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1754788789, + "narHash": "sha256-x2rJ+Ovzq0sCMpgfgGaaqgBSwY+LST+WbZ6TytnT9Rk=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "a73b9c743612e4244d865a2fdee11865283c04e6", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "nixpkgs-lib_2": { + "locked": { + "lastModified": 1753579242, + "narHash": "sha256-zvaMGVn14/Zz8hnp4VWT9xVnhc8vuL3TStRqwk22biA=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "0f36c44e01a6129be94e3ade315a5883f0228a6e", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1762756533, + "narHash": "sha256-HiRDeUOD1VLklHeOmaKDzf+8Hb7vSWPVFcWwaTrpm+U=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "c2448301fb856e351aab33e64c33a3fc8bcf637d", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-25.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_10": { + "locked": { + "lastModified": 1762482733, + "narHash": "sha256-g/da4FzvckvbiZT075Sb1/YDNDr+tGQgh4N8i5ceYMg=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "e1ebeec86b771e9d387dd02d82ffdc77ac753abc", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_11": { + "locked": { + "lastModified": 1761880412, + "narHash": "sha256-QoJjGd4NstnyOG4mm4KXF+weBzA2AH/7gn1Pmpfcb0A=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "a7fc11be66bdfb5cdde611ee5ce381c183da8386", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_12": { + "locked": { + "lastModified": 1748026106, + "narHash": "sha256-6m1Y3/4pVw1RWTsrkAK2VMYSzG4MMIj7sqUy7o8th1o=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "063f43f2dbdef86376cc29ad646c45c46e93234c", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_13": { + "locked": { + "lastModified": 1744536153, + "narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "18dd725c29603f582cf1900e0d25f9f1063dbf11", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_14": { + "locked": { + "lastModified": 1762363567, + "narHash": "sha256-YRqMDEtSMbitIMj+JLpheSz0pwEr0Rmy5mC7myl17xs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "ae814fd3904b621d8ab97418f1d0f2eb0d3716f4", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_15": { + "locked": { + "lastModified": 1758690382, + "narHash": "sha256-NY3kSorgqE5LMm1LqNwGne3ZLMF2/ILgLpFr1fS4X3o=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "e643668fd71b949c53f8626614b21ff71a07379d", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1762596750, + "narHash": "sha256-rXXuz51Bq7DHBlfIjN7jO8Bu3du5TV+3DSADBX7/9YQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "b6a8526db03f735b89dd5ff348f53f752e7ddc8e", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1725534445, + "narHash": "sha256-Yd0FK9SkWy+ZPuNqUgmVPXokxDgMJoGuNpMEtkfcf84=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "9bb1e7571aadf31ddb4af77fc64b2d59580f9a39", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_4": { + "locked": { + "lastModified": 1762721782, + "narHash": "sha256-ftv0n3xkKawHQgxZ6FGr2F1GdaYT/79aESm4t1LQ6X4=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "e5d07586ec39f74b390308f2e00040c23bdef530", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable-small", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_5": { + "locked": { + "lastModified": 1759381078, + "narHash": "sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "7df7ff7d8e00218376575f0acdcc5d66741351ee", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_6": { + "locked": { + "lastModified": 1762363567, + "narHash": "sha256-YRqMDEtSMbitIMj+JLpheSz0pwEr0Rmy5mC7myl17xs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "ae814fd3904b621d8ab97418f1d0f2eb0d3716f4", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_7": { + "locked": { + "lastModified": 1762482733, + "narHash": "sha256-g/da4FzvckvbiZT075Sb1/YDNDr+tGQgh4N8i5ceYMg=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "e1ebeec86b771e9d387dd02d82ffdc77ac753abc", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_8": { + "locked": { + "lastModified": 1754028485, + "narHash": "sha256-IiiXB3BDTi6UqzAZcf2S797hWEPCRZOwyNThJIYhUfk=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "59e69648d345d6e8fef86158c555730fa12af9de", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-25.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_9": { + "locked": { + "lastModified": 1762596750, + "narHash": "sha256-rXXuz51Bq7DHBlfIjN7jO8Bu3du5TV+3DSADBX7/9YQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "b6a8526db03f735b89dd5ff348f53f752e7ddc8e", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixvim": { + "inputs": { + "flake-parts": "flake-parts_3", + "nixpkgs": "nixpkgs_10", + "nuschtosSearch": "nuschtosSearch", + "systems": "systems_4" + }, + "locked": { + "lastModified": 1762789067, + "narHash": "sha256-z0VQRaEARqF5eARuAFhDixV+g5B+5IJ1iDKSUM+5EIY=", + "owner": "nix-community", + "repo": "nixvim", + "rev": "2dc09e09cc65026f0899cc50291e244ee24835d3", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixvim", + "type": "github" + } + }, + "nur": { + "inputs": { + "flake-parts": [ + "stylix", + "flake-parts" + ], + "nixpkgs": [ + "stylix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1758998580, + "narHash": "sha256-VLx0z396gDCGSiowLMFz5XRO/XuNV+4EnDYjdJhHvUk=", + "owner": "nix-community", + "repo": "NUR", + "rev": "ba8d9c98f5f4630bcb0e815ab456afd90c930728", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "NUR", + "type": "github" + } + }, + "nuschtosSearch": { + "inputs": { + "flake-utils": "flake-utils_2", + "ixx": "ixx", + "nixpkgs": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1761730856, + "narHash": "sha256-t1i5p/vSWwueZSC0Z2BImxx3BjoUDNKyC2mk24krcMY=", + "owner": "NuschtOS", + "repo": "search", + "rev": "e29de6db0cb3182e9aee75a3b1fd1919d995d85b", + "type": "github" + }, + "original": { + "owner": "NuschtOS", + "repo": "search", + "type": "github" + } + }, + "nvf": { + "inputs": { + "flake-compat": "flake-compat_6", + "flake-parts": "flake-parts_4", + "mnw": "mnw", + "nixpkgs": "nixpkgs_11", + "systems": "systems_5" + }, + "locked": { + "lastModified": 1762622004, + "narHash": "sha256-NpzzgaoMK8aRHnndHWbYNKLcZN0r1y6icCoJvGoBsoE=", + "owner": "NotAShelf", + "repo": "nvf", + "rev": "09470524a214ed26633ddc2b6ec0c9bf31a8b909", + "type": "github" + }, + "original": { + "owner": "NotAShelf", + "repo": "nvf", + "type": "github" + } + }, + "pre-commit-hooks": { + "inputs": { + "flake-compat": "flake-compat_4", + "gitignore": "gitignore", + "nixpkgs": [ + "hyprland", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1762441963, + "narHash": "sha256-j+rNQ119ffYUkYt2YYS6rnd6Jh/crMZmbqpkGLXaEt0=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "8e7576e79b88c16d7ee3bbd112c8d90070832885", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, + "root": { + "inputs": { + "awww": "awww", + "chaotic": "chaotic", + "disko": "disko", + "eww": "eww", + "firefox": "firefox", + "helix": "helix", + "home-manager": "home-manager_2", + "hyprland": "hyprland", + "neovim-nightly-overlay": "neovim-nightly-overlay", + "nixcord": "nixcord", + "nixpkgs": "nixpkgs_9", + "nixpkgs-stable": "nixpkgs-stable", + "nixvim": "nixvim", + "nvf": "nvf", + "satty": "satty", + "spicetify-nix": "spicetify-nix", + "stylix": "stylix" + } + }, + "rust-overlay": { + "inputs": { + "nixpkgs": [ + "awww", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1761964689, + "narHash": "sha256-Zo3LQQDz+64EQ9zor/WmeNTFLoZkjmhp0UY3G0D3seE=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "63d22578600f70d293aede6bc737efef60ebd97f", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "rust-overlay_2": { + "inputs": { + "nixpkgs": [ + "chaotic", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1762655942, + "narHash": "sha256-hOM12KcQNQALrhB9w6KJmV5hPpm3GA763HRe9o7JUiI=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "6ac961b02d4235572692241e333d0470637f5492", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "rust-overlay_3": { + "inputs": { + "nixpkgs": [ + "eww", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1725675754, + "narHash": "sha256-hXW3csqePOcF2e/PYnpXj72KEYyNj2HzTrVNmS/F7Ug=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "8cc45e678e914a16c8e224c3237fb07cf21e5e54", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "rust-overlay_4": { + "inputs": { + "nixpkgs": [ + "helix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1759631821, + "narHash": "sha256-V8A1L0FaU/aSXZ1QNJScxC12uP4hANeRBgI4YdhHeRM=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "1d7cbdaad90f8a5255a89a6eddd8af24dc89cafe", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "rust-overlay_5": { + "inputs": { + "nixpkgs": "nixpkgs_13" + }, + "locked": { + "lastModified": 1748140821, + "narHash": "sha256-GZcjWLQtDifSYMd1ueLDmuVTcQQdD5mONIBTqABooOk=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "476b2ba7dc99ddbf70b1f45357dbbdbdbdfb4422", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "satty": { + "inputs": { + "nixpkgs": "nixpkgs_12", + "rust-overlay": "rust-overlay_5" + }, + "locked": { + "lastModified": 1762802627, + "narHash": "sha256-ALeSK3jvRj2+Y1tigq+1Wz3plc/7wucAQVjW3YVP6HY=", + "owner": "gabm", + "repo": "Satty", + "rev": "c853c33bcf96133d36e0bdce0ff7b3c2b5f68976", + "type": "github" + }, + "original": { + "owner": "gabm", + "repo": "Satty", + "type": "github" + } + }, + "spicetify-nix": { + "inputs": { + "nixpkgs": "nixpkgs_14", + "systems": "systems_6" + }, + "locked": { + "lastModified": 1762718300, + "narHash": "sha256-oOQimZTaV1jCw0OBmmK2g7Rdj3E8YGVpkJYD32BWKRQ=", + "owner": "Gerg-L", + "repo": "spicetify-nix", + "rev": "c7175bd485ed5052df5075fcdde395b631316e94", + "type": "github" + }, + "original": { + "owner": "Gerg-L", + "repo": "spicetify-nix", + "type": "github" + } + }, + "stylix": { + "inputs": { + "base16": "base16", + "base16-fish": "base16-fish", + "base16-helix": "base16-helix", + "base16-vim": "base16-vim", + "firefox-gnome-theme": "firefox-gnome-theme", + "flake-parts": "flake-parts_5", + "gnome-shell": "gnome-shell", + "nixpkgs": "nixpkgs_15", + "nur": "nur", + "systems": "systems_7", + "tinted-foot": "tinted-foot", + "tinted-kitty": "tinted-kitty", + "tinted-schemes": "tinted-schemes", + "tinted-tmux": "tinted-tmux", + "tinted-zed": "tinted-zed" + }, + "locked": { + "lastModified": 1762264356, + "narHash": "sha256-QVfC53Ri+8n3e7Ujx9kq6all3+TLBRRPRnc6No5qY5w=", + "owner": "nix-community", + "repo": "stylix", + "rev": "647bb8dd96a206a1b79c4fd714affc88b409e10b", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "stylix", + "type": "github" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_2": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "systems_3": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_4": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_5": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_6": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_7": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "tinted-foot": { + "flake": false, + "locked": { + "lastModified": 1726913040, + "narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=", + "owner": "tinted-theming", + "repo": "tinted-foot", + "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-foot", + "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", + "type": "github" + } + }, + "tinted-kitty": { + "flake": false, + "locked": { + "lastModified": 1735730497, + "narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=", + "owner": "tinted-theming", + "repo": "tinted-kitty", + "rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-kitty", + "type": "github" + } + }, + "tinted-schemes": { + "flake": false, + "locked": { + "lastModified": 1757716333, + "narHash": "sha256-d4km8W7w2zCUEmPAPUoLk1NlYrGODuVa3P7St+UrqkM=", + "owner": "tinted-theming", + "repo": "schemes", + "rev": "317a5e10c35825a6c905d912e480dfe8e71c7559", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "schemes", + "type": "github" + } + }, + "tinted-tmux": { + "flake": false, + "locked": { + "lastModified": 1757811970, + "narHash": "sha256-n5ZJgmzGZXOD9pZdAl1OnBu3PIqD+X3vEBUGbTi4JiI=", + "owner": "tinted-theming", + "repo": "tinted-tmux", + "rev": "d217ba31c846006e9e0ae70775b0ee0f00aa6b1e", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-tmux", + "type": "github" + } + }, + "tinted-zed": { + "flake": false, + "locked": { + "lastModified": 1757811247, + "narHash": "sha256-4EFOUyLj85NRL3OacHoLGEo0wjiRJzfsXtR4CZWAn6w=", + "owner": "tinted-theming", + "repo": "base16-zed", + "rev": "824fe0aacf82b3c26690d14e8d2cedd56e18404e", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-zed", + "type": "github" + } + }, + "xdph": { + "inputs": { + "hyprland-protocols": [ + "hyprland", + "hyprland-protocols" + ], + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprland", + "hyprwayland-scanner" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1761431178, + "narHash": "sha256-xzjC1CV3+wpUQKNF+GnadnkeGUCJX+vgaWIZsnz9tzI=", + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "rev": "4b8801228ff958d028f588f0c2b911dbf32297f9", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..35eab55 --- /dev/null +++ b/flake.nix @@ -0,0 +1,74 @@ +{ + description = "nixconfig"; + + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + + nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-25.05"; + + home-manager = { + url = "github:nix-community/home-manager"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + disko = { + url = "github:nix-community/disko/latest"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable"; + + hyprland.url = "github:hyprwm/Hyprland"; + + eww.url = "github:elkowar/eww"; + + awww.url = "git+https://codeberg.org/LGFae/awww"; + + stylix.url = "github:nix-community/stylix"; + + satty.url = "github:gabm/Satty"; + + nixvim.url = "github:nix-community/nixvim"; + + nvf.url = "github:NotAShelf/nvf"; + + neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; + + helix.url = "github:helix-editor/helix"; + + firefox.url = "github:nix-community/flake-firefox-nightly"; + + nixcord.url = "github:KaylorBen/nixcord"; + + spicetify-nix.url = "github:Gerg-L/spicetify-nix"; + }; + + outputs = inputs @{ + self, + nixpkgs, + home-manager, + disko, + chaotic, + hyprland, + stylix, + satty, + neovim-nightly-overlay, + nixcord, + nixvim, + helix, + ... + }: let + mkHost = { hostname, path }: + nixpkgs.lib.nixosSystem { + specialArgs = { inherit inputs; }; + modules = [ path ]; + }; + in { + nixosConfigurations = { + szpont = mkHost { + hostname = "szpont"; + path = ./hosts/desktop/configuration.nix; + }; + }; + }; +} diff --git a/home/editors/helix.nix b/home/editors/helix.nix new file mode 100644 index 0000000..0204f8d --- /dev/null +++ b/home/editors/helix.nix @@ -0,0 +1,7 @@ +{ pkgs, ... }: +{ + programs.helix = { + enable = true; +# package = pkgs.helix; + }; +} diff --git a/home/editors/nixvim.nix b/home/editors/nixvim.nix new file mode 100644 index 0000000..48792a0 --- /dev/null +++ b/home/editors/nixvim.nix @@ -0,0 +1,12 @@ +{ inputs, pkgs, ... }: +{ + imports = [ inputs.nixvim.homeModules.nixvim ]; + programs.nixvim = { + enable = true; + package = inputs.neovim-nightly-overlay.packages.${pkgs.stdenv.hostPlatform.system}.default; + extraPlugins = [ pkgs.vimPlugins.gruvbox ]; + colorscheme = "gruvbox"; + viAlias = true; + vimAlias = true; + }; +} diff --git a/home/editors/nvf.nix b/home/editors/nvf.nix new file mode 100644 index 0000000..428f41f --- /dev/null +++ b/home/editors/nvf.nix @@ -0,0 +1,42 @@ +{ inputs, pkgs, ... }: + +{ + programs.nvf = { + enable = true; + + settings.vim = { + package= inputs.neovim-nightly-overlay.packages.${pkgs.stdenv.hostPlatform.system}.default; + + viAlias = true; + vimAlias = true; + + theme = { + enable = true; + name = "gruvbox"; + style = "dark"; + }; + + statusline = { + lualine = { + enable = true; + theme = "gruvbox-material"; + }; + }; + + autopairs.nvim-autopairs.enable = true; + + lsp.enable = true; + + languages = { + nix = { + enable = true; + format = { + enable = true; + type = "alejandra"; + }; + }; + clang.enable = true; + }; + }; + }; +} diff --git a/home/home.nix b/home/home.nix new file mode 100644 index 0000000..6f18efe --- /dev/null +++ b/home/home.nix @@ -0,0 +1,119 @@ +{ pkgs, inputs, ... }: + +{ + imports = [ + ./wayland/hyprland/binds.nix + ./wayland/waybar.nix + ./terminals/foot.nix + ./shells/fish.nix + ./shells/starship.nix + ./programs/spicetify.nix +# ./editors/nvf.nix + ./editors/nixvim.nix + ./editors/helix.nix + ./wayland/xdg.nix + ./wayland/eww.nix + ./programs/librewolf.nix + ./programs/nixcord.nix +# ./stylix.nix +]; + + home.username = "adam"; + home.homeDirectory = "/home/adam"; + home.stateVersion = "25.05"; + + home.packages = with pkgs; [ + ripgrep + jq + nix-index + qbittorrent-enhanced + fastfetch + foot + wofi + inputs.awww.packages.${pkgs.stdenv.hostPlatform.system}.awww + bitwarden-desktop + yt-dlp-light + ffmpeg + mpv + gimp + obs-cmd + obs-studio + mako + satty + thunderbird + nautilus + kdePackages.dolphin + xfce.thunar-volman + xfce.thunar-vcs-plugin + xfce.thunar-archive-plugin + magic-wormhole + obsidian + xfce.thunar + alsa-utils + ]; + + programs.btop.enable = true; + +programs.git = { + enable = true; + settings = { + user.name = "adikro"; + user.email = "adikro@disroot.org"; + init.defaultBranch = "main"; + }; +}; + +gtk = { + enable = true; + theme = { + name = "Adwaita-dark"; + package = pkgs.gnome-themes-extra; + }; +}; + +qt = { + enable = true; + style.name = "Breeze-Dark"; +}; + +wayland.windowManager.hyprland = { + enable = true; + settings = { + + general = { + gaps_in = 6; + gaps_out = 16; + border_size = 2; + }; + + decoration = { + rounding = 12; + }; + + "$mod" = "ALT"; + monitor = [ + "DP-1,2560x1440@240,0x0,1,vrr,0" + ]; + workspace = [ + "1,monitor:DP-1,default:true" + "2,monitor:DP-1" + "3,monitor:DP-1" + "4,monitor:DP-1" + "5,monitor:DP-1" + ]; + + input = { + accel_profile = "flat"; + sensitivity = -0.6; + repeat_rate = 45; + repeat_delay = 750; + }; + + animations = { + enabled = false; + }; + }; +}; + + programs.home-manager.enable = true; +} diff --git a/home/programs/librewolf.nix b/home/programs/librewolf.nix new file mode 100644 index 0000000..751e04d --- /dev/null +++ b/home/programs/librewolf.nix @@ -0,0 +1,6 @@ +{ ... }: +{ + programs.librewolf = { + enable = true; + }; +} diff --git a/home/programs/nixcord.nix b/home/programs/nixcord.nix new file mode 100644 index 0000000..ead23aa --- /dev/null +++ b/home/programs/nixcord.nix @@ -0,0 +1,136 @@ +{ pkgs, inputs, lib, config, ... }: +{ + imports = [ inputs.nixcord.homeModules.nixcord ]; + + programs.nixcord = { + enable = true; + discord.enable = false; + vesktop = { + enable = true; + autoscroll.enable = true; + }; + config = { + frameless = true; + autoUpdate = true; + transparent = true; + + plugins = { + alwaysExpandRoles.enable = true; + betterGifAltText.enable = true; + betterGifPicker.enable = true; + betterNotesBox = { + enable = true; + hide = true; + }; + betterRoleContext.enable = true; + betterSettings = { + enable = true; + organizeMenu = false; + }; + betterUploadButton.enable = true; + biggerStreamPreview.enable = true; + callTimer.enable = true; + copyFileContents.enable = true; + disableCallIdle.enable = true; + dontRoundMyTimestamps.enable = true; + expressionCloner.enable = true; + favoriteEmojiFirst.enable = true; + fixSpotifyEmbeds.enable = true; + fixYoutubeEmbeds.enable = true; + forceOwnerCrown.enable = true; + friendsSince.enable = true; + fullSearchContext.enable = true; + fullUserInChatbox.enable = true; + iLoveSpam.enable = true; + imageFilename.enable = true; + imageLink.enable = true; + imageZoom = { + enable = true; + saveZoomValues = true; + square = true; + }; + memberCount.enable = true; + mentionAvatars.enable = true; + messageClickActions.enable = true; + messageLinkEmbeds.enable = true; + messageLogger = { + enable = true; + ignoreSelf = true; + }; + moyai.enable = true; + mutualGroupDMs.enable = true; + newGuildSettings = { + enable = true; + messages = "only@Mentions"; + }; + noDevtoolsWarning.enable = true; + noF1.enable = true; + noMosaic.enable = true; + noPendingCount = { + enable = true; + hideFriendRequestsCount = false; + hideMessageRequestCount = false; + }; + noProfileThemes.enable = true; + noTrack.enable = true; + noTypingAnimation.enable = true; + onePingPerDM.enable = true; + openInApp.enable = true; + pauseInvitesForever.enable = true; + permissionFreeWill = { + enable = true; + lockout = false; + }; + permissionsViewer.enable = true; + pinDMs = { + enable = true; + dmSectioncollapsed = true; + }; + platformIndicators.enable = true; + relationshipNotifier.enable = true; + roleColorEverywhere.enable = true; + sendTimestamps.enable = true; + serverInfo.enable = true; + settings.enable = false; + showConnections.enable = true; + showHiddenChannels.enable = true; + showHiddenThings.enable = true; + showTimeoutDuration.enable = true; + sortFriendRequests = { + enable = true; + showDates = true; + }; + spotifyControls = { + enable = true; + useSpotifyUris = true; + }; + spotifyCrack = { + enable = true; + noSpotifyAutoPause = false; + }; + typingIndicator = { + enable = true; + includeBlockedUsers = true; + }; + typingTweaks.enable = true; + unindent.enable = true; + unlockedAvatarZoom.enable = true; + userVoiceShow.enable = true; + validReply.enable = true; + validUser.enable = true; + vencordToolbox.enable = true; + viewIcons = { + enable = true; + format = "png"; + }; + voiceDownload.enable = true; + voiceMessages.enable = true; + volumeBooster.enable = true; + webScreenShareFixes.enable = true; + whoReacted.enable = true; + youtubeAdblock.enable = true; + }; + }; + quickCss = builtins.readFile ./theme.css; + }; +} diff --git a/home/programs/spicetify.nix b/home/programs/spicetify.nix new file mode 100644 index 0000000..a581bd6 --- /dev/null +++ b/home/programs/spicetify.nix @@ -0,0 +1,22 @@ +{ config, pkgs, inputs, ... }: + +let + spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.stdenv.hostPlatform.system}; +in { + imports = [ + inputs.spicetify-nix.homeManagerModules.spicetify + ]; + + programs.spicetify = { + enable = true; + + enabledExtensions = with spicePkgs.extensions; [ + adblockify + hidePodcasts + ]; + +# theme = spicePkgs.themes.onepunch; + theme = spicePkgs.themes.catppuccin; + colorScheme = "mocha"; + }; +} diff --git a/home/shells/fish.nix b/home/shells/fish.nix new file mode 100644 index 0000000..9634249 --- /dev/null +++ b/home/shells/fish.nix @@ -0,0 +1,17 @@ +{ ... }: + +{ + programs.fish = { + enable = true; + + interactiveShellInit = + '' + set fish_greeting + fastfetch + ''; + + shellAliases = { + gs = "git status"; + }; + }; +} diff --git a/home/shells/starship.nix b/home/shells/starship.nix new file mode 100644 index 0000000..bd4aa3c --- /dev/null +++ b/home/shells/starship.nix @@ -0,0 +1,10 @@ +{ ... }: +{ + programs.starship = { + enable = true; + + settings = { + add_newline = true; + }; + }; +} diff --git a/home/stylix.nix b/home/stylix.nix new file mode 100644 index 0000000..16830cc --- /dev/null +++ b/home/stylix.nix @@ -0,0 +1,8 @@ +{ inputs, ... }: +{ + imports = [ inputs.stylix.homeModules.stylix ]; + + stylix = { + enable = true; + }; +} diff --git a/home/terminals/foot.nix b/home/terminals/foot.nix new file mode 100644 index 0000000..5c3098b --- /dev/null +++ b/home/terminals/foot.nix @@ -0,0 +1,25 @@ +{pkgs, ...}: +let + footTheme = pkgs.fetchurl { + url = "https://codeberg.org/dnkl/foot/raw/branch/master/themes/gruvbox-dark"; + sha256 = "sha256-ubvnLgDEPGvNrwQdZRNguftg2SF5qcO1iVK0Tb5ZveI="; + }; +in +{ + programs.foot = { + enable = true; + settings = { + main = { + font="JetBrainsMonoNFM-Regular:size=14"; +# font-bold = "${font}:style=Bold:${withSize}"; +# font-italic = "${fontItalic}:style=Italic:${withSize}"; +# font-bold-italic = "${fontItalic}:style=BoldItalic:${withSize}"; + box-drawings-uses-font-glyphs = true; + include = "${footTheme}"; +}; + scrollback = { + lines = 10000; + }; + }; + }; + } diff --git a/home/wayland/eww.nix b/home/wayland/eww.nix new file mode 100644 index 0000000..fe7df23 --- /dev/null +++ b/home/wayland/eww.nix @@ -0,0 +1,7 @@ +{ ... }: +{ + programs.eww = { + enable = true; + enableFishIntegration = true; + }; +} diff --git a/home/wayland/hyprland/binds.nix b/home/wayland/hyprland/binds.nix new file mode 100644 index 0000000..8dc9ec8 --- /dev/null +++ b/home/wayland/hyprland/binds.nix @@ -0,0 +1,65 @@ +let + workspaces = builtins.concatLists (builtins.genList ( + x: let + ws = let + c = (x + 1) / 10; + in + builtins.toString (x + 1 - (c * 10)); + in [ + "$mod, ${ws}, workspace, ${toString (x + 1)}" + "$mod SHIFT, ${ws}, movetoworkspacesilent, ${toString (x + 1)}" + ] + ) + 5); +in { + wayland.windowManager.hyprland.settings = { + bindm = [ + "$mod, mouse:272, movewindow" + "$mod, mouse:273, resizewindow" + ]; + + bind = + [ + "$mod, RETURN, exec, foot" + "$mod, D, exec, wofi -f --show=drun --lines=5" +# --prompt=\"\"" + "$mod SHIFT, D, exec, grimblast --freeze copy area" +# "$mod SHIFT, F, exec, grimblast copysave output ~/.screenshots/$(date +'%s_hypr.png')" +# "$mod SHIFT, G, exec, grimblast copy active" +# "$mod CTRL, P, exec, swayidle timeout 2 'sleep 1; hyprctl dispatcher dpms off' resume 'hyprctl dispatcher dpms on & pkill swayidle'" + + "$mod SHIFT, Q, killactive," + "$mod CTRL, E, exit," + "$mod, SPACE, togglesplit," + "$mod, F, fullscreen," + "$mod, V, togglefloating," + "$mod, P, pseudo," + + "$mod, H, movefocus, l" + "$mod, L, movefocus, r" + "$mod, K, movefocus, u" + "$mod, J, movefocus, d" + + "$mod SHIFT, H, movewindow, l" + "$mod SHIFT, L, movewindow, r" + "$mod SHIFT, K, movewindow, u" + "$mod SHIFT, J, movewindow, d" + + "$mod SUPER, H, resizeactive, -10 0" + "$mod SUPER, L, resizeactive, 10 0" + "$mod SUPER, K, resizeactive, 0 -10" + "$mod SUPER, J, resizeactive, 0 10" + +# "$mod, E, togglegroup" +# "$mod SHIFT, E, lockactivegroup, toggle" +# "$mod, TAB, changegroupactive, f" +# "$mod SHIFT, TAB, changegroupactive, b" +# "$mod CTRL, L, moveoutofgroup, r" +# "$mod CTRL, H, moveoutofgroup, l" + +# "$mod, Prior, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+" +# "$mod, Next, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-" + ] + ++ workspaces; + }; +} diff --git a/home/wayland/waybar.nix b/home/wayland/waybar.nix new file mode 100644 index 0000000..ea0ccb4 --- /dev/null +++ b/home/wayland/waybar.nix @@ -0,0 +1,211 @@ +{config, ...}: { + programs.waybar = { + enable = true; + settings = { + mainBar = { + layer = "top"; + position = "top"; +# margin-top = 8; +# margin-bottom = 80; +# margin-left = 8; + reload_style_on_change = true; + modules-left = ["hyprland/workspaces"]; + modules-center = ["clock#date" "clock#time"]; + modules-right = ["pulseaudio/slider" "pulseaudio#percentage"]; + "hyprland/workspaces" = { + on-click = "activate"; + format = "{icon}"; + format-icons = { + "1" = "1"; + "2" = "2"; + "3" = "3"; + "4" = "4"; + "5" = "5"; + }; + persistent-workspaces = { + "*" = 5; + }; + }; + "clock#date" = { + format = "{:%a %B %d}"; + tooltip-format = "{:%Y %B}\n{calendar}"; +# rotate = 270; + }; + "clock#time" = { + format = "{:%I:%M}"; + }; + "pulseaudio" = { + format = "{icon}"; + format-bluetooth = "{icon}"; + format-muted = ""; + format-icons = { + headphones = ""; + default = [""]; + }; + scroll-step = 1; + on-click = "pavucontrol"; + }; + "pulseaudio#percentage" = { + on-click = "pactl set-sink-mute @DEFAULT_SINK@ toggle"; + format = "{volume}%"; + }; + "pulseaudio/slider" = { + min = 0; + max = 100; + orientation = "vertical"; + }; + }; + }; + /* + style = '' + @define-color mainbg #${config.colorScheme.palette.base00}; + @define-color modulesbg #${config.colorScheme.palette.base01}; + @define-color text #${config.colorScheme.palette.base05}; + @define-color alttext1 #${config.colorScheme.palette.base0C}; + @define-color alttext2 #${config.colorScheme.palette.base05}; + @define-color border #${config.colorScheme.palette.base0E}; + @define-color empty #${config.colorScheme.palette.base02}; + @define-color persistent #${config.colorScheme.palette.base04}; + @define-color hover #${config.colorScheme.palette.base09}; + @define-color white #${config.colorScheme.palette.base05}; + @define-color red #${config.colorScheme.palette.base08}; + @define-color orange #${config.colorScheme.palette.base09}; + @define-color yellow #${config.colorScheme.palette.base0A}; + @define-color green #${config.colorScheme.palette.base0B}; + + * { + all: initial; + font-family:'JetBrainsMono Nerd Font'; + padding-left: 1px; + padding-right: 1px; + } + + window#waybar { + background: @mainbg; + border: 1px solid @border; + border-radius: 5px; + } + + tooltip { + background: #${config.colorScheme.palette.base03}; + border: 2px solid #${config.colorScheme.palette.base0C}; + border-radius: 5px; + font-size: 12pt; + } + + tooltip label { + padding: 10px; + } + + #workspaces { + margin: 10px 0px; + background: @modulesbg; + font-size: 12pt; + padding: 20px 0px; + border-top:3px solid @border; + border-top-left-radius: 50px; + border-top-right-radius: 5px; + border-bottom: 3px solid @border; + border-bottom-right-radius: 50px; + border-bottom-left-radius: 5px; + } + + #workspaces button { + font-size: 18pt; + padding: 2px; + margin: 5px 6px; + border-radius: 10px; + } + + #workspaces button.persistent { + background-color: @persistent; + } + + #workspaces button.empty { + background-color: @empty; + } + + #workspaces button.visible { + background-color: @empty; + } + + #workspaces button.active { + background-color: @green; + } + + #workspaces button.urgent { + background-color: @red; + } + + #workspaces button:hover { + background-color: @hover; + } + + #pulseaudio, #clock, #clock.date, #clock.time { + background: @modulesbg; + } + + #pulseaudio { + padding: 1px 5px 1px 5px; + color: @text; + font-size: 16px; + } + + #clock.date { + padding: 30px 5px 10px 5px; + font-size: 14px; + color: @alttext2; + border-top:3px solid @border; + border-top-left-radius: 50px; + border-top-right-radius: 5px; + } + + #clock.time { + padding: 10px 5px 30px 5px; + font-size: 14px; + color: @alttext1; + border-bottom: 3px solid @border; + border-bottom-left-radius: 5px; + border-bottom-right-radius: 50px; + } + + #pulseaudio-slider, #pulseaudio.percentage { + background-color: @modulesbg; + } + + #pulseaudio-slider { + padding: 15px 0px 5px 0px; + border-top: 3px solid @border; + border-top-left-radius: 50px; + border-top-right-radius: 5px; + } + #pulseaudio-slider slider { + min-height: 0px; + min-width: 1px; + opacity: 0; + background-image: none; + border: none; + box-shadow: none; + } + #pulseaudio-slider trough { + min-height: 70px; + min-width: 0px; + border-radius: 5px; + background-color: @border; + } + #pulseaudio-slider highlight { + min-width: 10px; + border-radius: 5px; + background-color: @white; + } + + #pulseaudio.percentage { + font-size: 12px; + margin: 0px 0px; + padding: 2px 5px; + color: @text; + } + ''; + */ + }; +} diff --git a/home/wayland/xdg.nix b/home/wayland/xdg.nix new file mode 100644 index 0000000..f4b1294 --- /dev/null +++ b/home/wayland/xdg.nix @@ -0,0 +1,37 @@ +{ ... }: + +{ + xdg.userDirs = { + enable = true; + + createDirectories = true; + download = "$HOME/dl"; + documents = "$HOME/docs"; + pictures = "/media/pics"; + videos = "/media/vids"; + + desktop = null; + music = null; + publicShare = null; + templates = null; + + extraConfig = { + XDG_PROJECTS_DIR = "$HOME/projects"; + XDG_GAMES_DIR = "$HOME/Games"; + XDG_MEDIA_DIR = "/media"; + XDG_SS_DIR = "/media/ss"; + XDG_CLIPS_DIR = "/media/clips"; + XDG_ISO_DIR = "/media/iso"; + XDG_ARCHIVE_DIR = "/media/archive"; + }; + }; + home.sessionVariables = { + XDG_PROJECTS_DIR = "$HOME/projects"; + XDG_GAMES_DIR = "$HOME/Games"; + XDG_MEDIA_DIR = "/media"; + XDG_SS_DIR = "/media/ss"; + XDG_CLIPS_DIR = "/media/clips"; + XDG_ISO_DIR = "/media/iso"; + XDG_ARCHIVE_DIR = "/media/archive"; + }; +} diff --git a/hosts/desktop/configuration.nix b/hosts/desktop/configuration.nix new file mode 100644 index 0000000..ad49e90 --- /dev/null +++ b/hosts/desktop/configuration.nix @@ -0,0 +1,155 @@ +{ inputs, pkgs, ... }: + +{ + nixpkgs.config.allowUnfree = true; + + imports = + [ + ./hardware-configuration.nix + ../../modules/greet.nix + ../../modules/virtualization.nix + ../../modules/boot.nix + ../../modules/audio.nix + ../../modules/networking.nix + ../../modules/scx.nix + ../../modules/firefox.nix + ../../modules/tor.nix + ../../modules/disko.nix + inputs.home-manager.nixosModules.home-manager + inputs.chaotic.nixosModules.default + ]; + + home-manager = { + extraSpecialArgs = { inherit inputs; }; + users = { + "adam" = import ../../home/home.nix; + }; + backupFileExtension = "bak"; + useGlobalPkgs = true; + useUserPackages = true; + }; + + services.spotifyd = { + enable = true; + }; + + programs.gnupg.agent = { + enable = true; + enableSSHSupport = true; + pinentryPackage = pkgs.pinentry-curses; + }; + +programs.steam = { + enable = true; + localNetworkGameTransfers.openFirewall = true; + dedicatedServer.openFirewall = true; + remotePlay.openFirewall = false; + gamescopeSession.enable = true; + extest.enable = true; + protontricks.enable = true; + + extraCompatPackages = with pkgs; [ + proton-cachyos_x86_64_v4 + proton-ge-custom + ]; +}; + +hardware.cpu.amd.updateMicrocode = true; + +services.xserver.videoDrivers = [ "amdgpu" ]; +hardware.sensor.iio.enable = true; +programs.kdeconnect.enable = true; +services.lact.enable = true; +environment.variables.AMD_VULKAN_ICD = "RADV"; +hardware.amdgpu.initrd.enable = true; + +programs.hyprland.enable = true; +programs.hyprland.package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; + + nix.settings = { + trusted-users = [ "root" "adam" ]; + experimental-features = [ "nix-command" "flakes" ]; + }; + + hardware = { + enableRedistributableFirmware = true; + graphics = { + enable = true; + enable32Bit = true; + }; + }; + +chaotic = { + mesa-git = { + enable = true; + fallbackSpecialisation = false; + }; +}; + +services.dbus.enable = true; + +xdg.portal = { + enable = true; + wlr.enable = true; +}; + +time.timeZone = "Europe/Warsaw"; + + # Select internationalisation properties. + # i18n.defaultLocale = "en_US.UTF-8"; + # console = { + # font = "Lat2-Terminus16"; + # keyMap = "pl"; + # useXkbConfig = true; # use xkb.options in tty. + # }; + +environment.sessionVariables = { + NH_FLAKE = "/etc/nixos"; + NIXOS_OZONE_WL = "1"; + MOZ_ENABLE_WAYLAND = "1"; + GDK_BACKEND = "wayland"; + QT_QPA_PLATFORM = "wayland"; + ELECTRON_ENABLE_WAYLAND = "1"; + }; + +programs.fish.enable = true; + + users.users.adam = { + isNormalUser = true; + extraGroups = [ "wheel" ]; + home = "/home/adam"; + shell = pkgs.fish; + }; + + environment.systemPackages = with pkgs; [ + vim + lan-mouse_git + tuigreet + hyprland + linux-firmware + dbus + nh + gamemode + mangohud + grim + grimblast + slurp + wl-clipboard + swappy + git + nix-output-monitor + nvd + rivalcfg + easyeffects + wineWowPackages.stagingFull + lutris + winetricks + nix-tree + ]; + + fonts.packages = with pkgs; [ + nerd-fonts.jetbrains-mono +]; + +system.stateVersion = "25.05"; +} diff --git a/hosts/desktop/hardware-configuration.nix b/hosts/desktop/hardware-configuration.nix new file mode 100644 index 0000000..0db0d28 --- /dev/null +++ b/hosts/desktop/hardware-configuration.nix @@ -0,0 +1,49 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "nvme" "ahci" "xhci_pci" "usbhid" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/aa9c6208-2cc3-413c-a52a-5e0fdf93e748"; + fsType = "btrfs"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/A687-03D4"; + fsType = "vfat"; + options = [ "fmask=0022" "dmask=0022" ]; + }; + + fileSystems."/home" = + { device = "/dev/disk/by-uuid/694036da-fc6e-4c7c-8765-7b90fb9a04c8"; + fsType = "btrfs"; + }; + + fileSystems."/media" = + { device = "/dev/disk/by-uuid/c619e4ea-c146-4e36-9535-d0240f1cd637"; + fsType = "ext4"; + }; + + 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`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp14s0.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp15s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/modules/audio.nix b/modules/audio.nix new file mode 100644 index 0000000..dd5be80 --- /dev/null +++ b/modules/audio.nix @@ -0,0 +1,26 @@ +{ config, pkgs, ... }: + +{ + services = { + + pipewire = { + enable = true; + audio.enable = true; + pulse.enable = true; + alsa.enable = true; + alsa.support32Bit = true; + jack.enable = true; + wireplumber.enable = true; + }; + +# easyeffects = { +# enable = true; +# }; + playerctld = { + enable = true; + }; + }; + + hardware.enableAllFirmware = true; + security.rtkit.enable = true; +} diff --git a/modules/boot.nix b/modules/boot.nix new file mode 100644 index 0000000..8d51b03 --- /dev/null +++ b/modules/boot.nix @@ -0,0 +1,19 @@ +{ pkgs, ... }: + +{ + boot = { + loader = { + efi.canTouchEfiVariables = true; + systemd-boot = { + enable = true; + }; + }; + + supportedFilesystems = [ "ntfs" ]; + initrd.kernelModules = [ "amdgpu" "kvm-amd" ]; + kernelParams = [ + "video=DP-1:2560x1440@240" + ]; + kernelPackages = pkgs.linuxPackages_cachyos-rc.cachyOverride { mArch = "ZEN4"; }; + }; +} diff --git a/modules/disko.nix b/modules/disko.nix new file mode 100644 index 0000000..d53acaf --- /dev/null +++ b/modules/disko.nix @@ -0,0 +1,6 @@ +{ config, inputs, ... }: +{ + imports = [ inputs.disko.nixosModules.disko ]; + + +} diff --git a/modules/firefox.nix b/modules/firefox.nix new file mode 100644 index 0000000..f8e6178 --- /dev/null +++ b/modules/firefox.nix @@ -0,0 +1,7 @@ +{ pkgs, inputs, ... }: + +{ + environment.systemPackages = [ + inputs.firefox.packages.${pkgs.stdenv.hostPlatform.system}.firefox-nightly-bin + ]; +} diff --git a/modules/greet.nix b/modules/greet.nix new file mode 100644 index 0000000..555178a --- /dev/null +++ b/modules/greet.nix @@ -0,0 +1,26 @@ +{ pkgs, config, ... }: + +let + xsessions = "${config.services.displayManager.sessionData.desktops}/share/xsessions"; + waylandSessions = "${config.services.displayManager.sessionData.desktops}/share/wayland-sessions"; +in { + services.greetd = { + enable = true; + settings = { + default_session = { + command = "${pkgs.tuigreet}/bin/tuigreet --sessions ${xsessions}:${waylandSessions} --remember --remember-user-session --asterisks --greeting 'Welcome to NixOS!' --time"; + user = "greeter"; + }; + }; + }; + + systemd.services.greetd.serviceConfig = { + Type = "idle"; + StandardInput = "tty"; + StandardOutput = "tty"; + StandardError = "journal"; + TTYReset = true; + TTYVHangup = true; + TTYVTDisallocate = true; + }; +} diff --git a/modules/memory.nix b/modules/memory.nix new file mode 100644 index 0000000..9a7f0cf --- /dev/null +++ b/modules/memory.nix @@ -0,0 +1,16 @@ +{ config, pkgs, ... }: + +{ + zramSwap = { + enable = true; + memoryPercent = 25; + algorithm = "zstd"; + }; + + swapDevices = [ + { + device = "/swap"; + size = 32 * 1024; + } + ]; +} diff --git a/modules/networking.nix b/modules/networking.nix new file mode 100644 index 0000000..f33afa8 --- /dev/null +++ b/modules/networking.nix @@ -0,0 +1,19 @@ +{ ... }: + +{ + networking = { + hostName = "szpont"; + + networkmanager = { + enable = true; + wifi.macAddress = "stable-ssid"; + ethernet.macAddress = "stable-ssid"; + }; + + firewall = { + enable = true; + allowedTCPPorts = [ ]; + allowedUDPPorts = [ ]; + }; + }; +} diff --git a/modules/scx.nix b/modules/scx.nix new file mode 100644 index 0000000..b1f5dad --- /dev/null +++ b/modules/scx.nix @@ -0,0 +1,14 @@ +{ config, pkgs, ... }: + +{ + services.scx = { + enable = true; + + scheduler = "scx_lavd"; + extraArgs =[ + '' + --performance + '' + ]; + }; +} diff --git a/modules/tor.nix b/modules/tor.nix new file mode 100644 index 0000000..548da38 --- /dev/null +++ b/modules/tor.nix @@ -0,0 +1,34 @@ +{ pkgs, ... }: + +{ + services = { + tor = { + enable = true; + + client = { + enable = true; + dns.enable = true; + }; + + settings.DNSPort = [{ + addr = "127.0.0.1"; + port = 53; + }]; + + torsocks.enable = true; + }; + +# resolved = { +# enable = true; +# fallbackDns = [ "127.0.0.1:9053" ]; +# }; + }; + + environment.systemPackages = with pkgs; [ + tor + torsocks + tor-browser + ]; + + networking.nameservers = [ "127.0.0.1" ]; +} diff --git a/modules/virtualization.nix b/modules/virtualization.nix new file mode 100644 index 0000000..9dc55ff --- /dev/null +++ b/modules/virtualization.nix @@ -0,0 +1,14 @@ +{ pkgs, ... }: +{ + virtualisation.libvirtd = { + enable = true; + qemu = { + package = pkgs.qemu_kvm; + swtpm.enable = true; + }; + }; + + programs.virt-manager.enable = true; + users.users.adam.extraGroups = [ "libvirtd" "kvm" ]; + networking.firewall.allowedTCPPorts = [ 16509 ]; +} -- cgit v1.3