nix machine / user configurations

a

+203 -133
flake.lock
···
]
},
"locked": {
-
"lastModified": 1653594315,
-
"narHash": "sha256-kJ0ENmnQJ4qL2FeYKZba9kvv1KmIuB3NVpBwMeI7AJQ=",
"owner": "serokell",
"repo": "deploy-rs",
-
"rev": "184349d8149436748986d1bdba087e4149e9c160",
"type": "github"
},
"original": {
···
},
"devshell_2": {
"inputs": {
-
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
},
"locked": {
···
}
},
"discocss": {
"inputs": {
"flake-utils": [
"fufexan",
···
},
"emacs-overlay": {
"inputs": {
-
"flake-utils": "flake-utils_2",
"nixpkgs": "nixpkgs_2"
},
"locked": {
-
"lastModified": 1658833746,
-
"narHash": "sha256-bm/FXx7lH8xaM1excP4SLexVBdaTKE5tZS8PyuibnsA=",
"owner": "nix-community",
"repo": "emacs-overlay",
-
"rev": "4d03024af95e8338ccd4d238a46c4bbe01ecdb89",
"type": "github"
},
"original": {
···
"inputs": {
"fenix": "fenix",
"flake-compat": "flake-compat_2",
-
"flake-utils": "flake-utils_3",
"naersk": [
"fufexan",
"naersk"
···
]
},
"locked": {
-
"lastModified": 1658741308,
-
"narHash": "sha256-35ao8Xc1mEt8pPs6a0iI2NfKO7Dawq7+ZQ1jS64b1mU=",
"owner": "elkowar",
"repo": "eww",
-
"rev": "962c06c0ee33e968c60ef7b1682e9d365a72e74f",
"type": "github"
},
"original": {
···
},
"flake-utils": {
"locked": {
"lastModified": 1642700792,
"narHash": "sha256-XqHrk7hFb+zBvRg6Ghl+AZDq03ov6OshJLiSWOoX5es=",
"owner": "numtide",
···
"type": "github"
}
},
-
"flake-utils_2": {
"locked": {
-
"lastModified": 1656928814,
-
"narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=",
"owner": "numtide",
"repo": "flake-utils",
-
"rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249",
"type": "github"
},
"original": {
···
"type": "github"
}
},
-
"flake-utils_3": {
"locked": {
"lastModified": 1634851050,
"narHash": "sha256-N83GlSGPJJdcqhUxSCS/WwW5pksYf3VP1M13cDRTSVA=",
···
"type": "github"
}
},
-
"flake-utils_4": {
"locked": {
"lastModified": 1637014545,
"narHash": "sha256-26IZAc5yzlD9FlDT54io1oqG/bBoyka+FJk5guaX4x4=",
···
"type": "github"
}
},
-
"flake-utils_5": {
"locked": {
"lastModified": 1637014545,
"narHash": "sha256-26IZAc5yzlD9FlDT54io1oqG/bBoyka+FJk5guaX4x4=",
···
},
"fu": {
"locked": {
-
"lastModified": 1656928814,
-
"narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=",
"owner": "numtide",
"repo": "flake-utils",
-
"rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249",
"type": "github"
},
"original": {
···
"inputs": {
"deploy-rs": "deploy-rs",
"devshell": "devshell_2",
-
"discocss": "discocss",
"emacs-overlay": "emacs-overlay",
"eww": "eww",
"fu": "fu",
···
"hyprland-contrib": "hyprland-contrib",
"kmonad": "kmonad",
"naersk": "naersk",
"nix-colors": "nix-colors",
"nix-gaming": "nix-gaming",
"nixpkgs": "nixpkgs_4",
-
"rnix-lsp": "rnix-lsp"
},
"locked": {
-
"lastModified": 1659195254,
-
"narHash": "sha256-+broiZolVYTgduj+r3tN+zo9K0aWkI32eMlHfgnjg6k=",
"owner": "fufexan",
"repo": "dotfiles",
-
"rev": "c6296680001434b1d1f840b53324d31c5d5a7adc",
"type": "github"
},
"original": {
···
"rust-overlay": "rust-overlay_2"
},
"locked": {
-
"lastModified": 1658815512,
-
"narHash": "sha256-q65cN1JuhJOfFve2A8Jyfe+wzgcbHpiNbUPOgwJRpZ8=",
"owner": "helix-editor",
"repo": "helix",
-
"rev": "3dd2196e4f42b23fd30b4e028b96d5b1862603d6",
"type": "github"
},
"original": {
···
"nixpkgs": [
"nixpkgs"
],
-
"rust-overlay": "rust-overlay_3"
},
"locked": {
-
"lastModified": 1659072681,
-
"narHash": "sha256-vvdQHhnJIxrIh8phbJRM/h8GgZBXj7Lc9yK05t52yCg=",
"owner": "helix-editor",
"repo": "helix",
-
"rev": "a8b123fe177d8cd7f5a610a0a50c16c9f64069bd",
"type": "github"
},
"original": {
···
"utils": "utils"
},
"locked": {
-
"lastModified": 1658751516,
-
"narHash": "sha256-Y/3dHoTjbvYBtWd+TTBQJUIgDPO9d+Gqt05C5dyR7E4=",
"owner": "nix-community",
"repo": "home-manager",
-
"rev": "dbed4c794d20d51027fc1107f063ec5be027dafc",
"type": "github"
},
"original": {
···
"nixpkgs": [
"nixpkgs"
],
-
"utils": "utils_3"
},
"locked": {
-
"lastModified": 1657396086,
-
"narHash": "sha256-4cQ6hEuewWoFkTBlu211JGxPQQ1Zyli8oEq1cu7cVeA=",
"owner": "nix-community",
"repo": "home-manager",
-
"rev": "c645cc9f82c7753450d1fa4d1bc73b64960a9d7a",
"type": "github"
},
"original": {
···
"wlroots": "wlroots"
},
"locked": {
-
"lastModified": 1659194367,
-
"narHash": "sha256-pxPBHj2B6EuljO0PekkHlKtWZLdDkjX4zF5sY7Q/lFk=",
"owner": "hyprwm",
"repo": "Hyprland",
-
"rev": "59879e0bd1f30771b0dce57c324e1648a3ad1603",
"type": "github"
},
"original": {
···
"wlroots": "wlroots_2"
},
"locked": {
-
"lastModified": 1657572680,
-
"narHash": "sha256-NOy0iHEnOcL5yAA7fWXni++axbNSFaYDxLeAkmPtZaY=",
"owner": "hyprwm",
"repo": "Hyprland",
-
"rev": "676e4c36c53c991f6950a0c51fbe7b41ee9a4db2",
"type": "github"
},
"original": {
···
]
},
"locked": {
-
"lastModified": 1655042882,
-
"narHash": "sha256-9BX8Fuez5YJlN7cdPO63InoyBy7dm3VlJkkmTt6fS1A=",
"owner": "nmattia",
"repo": "naersk",
-
"rev": "cddffb5aa211f50c4b8750adbec0bbbdfb26bb9f",
"type": "github"
},
"original": {
···
"type": "github"
}
},
-
"naersk_2": {
-
"inputs": {
-
"nixpkgs": [
-
"fufexan",
-
"rnix-lsp",
-
"nixpkgs"
-
]
-
},
-
"locked": {
-
"lastModified": 1655042882,
-
"narHash": "sha256-9BX8Fuez5YJlN7cdPO63InoyBy7dm3VlJkkmTt6fS1A=",
-
"owner": "nix-community",
-
"repo": "naersk",
-
"rev": "cddffb5aa211f50c4b8750adbec0bbbdfb26bb9f",
-
"type": "github"
-
},
-
"original": {
-
"owner": "nix-community",
-
"repo": "naersk",
-
"type": "github"
-
}
-
},
"nci": {
"inputs": {
"devshell": "devshell",
···
"type": "github"
}
},
"nix-colors": {
"inputs": {
"base16-schemes": "base16-schemes",
···
"nixpkgs": "nixpkgs_3"
},
"locked": {
-
"lastModified": 1658662574,
-
"narHash": "sha256-NX3uQqN8kktKujIiQStqGZx9K+jJ5+M2a+GVrAe227w=",
"owner": "fufexan",
"repo": "nix-gaming",
-
"rev": "065a6a44a301ba027d42b52d94db5bc39dd7ce6d",
"type": "github"
},
"original": {
···
},
"nixos-hardware": {
"locked": {
-
"lastModified": 1656933710,
-
"narHash": "sha256-SVG8EqY1OTJWBRY4hpct2ZR2Rk0L8hCFkug3m0ABoZE=",
"owner": "nixos",
"repo": "nixos-hardware",
-
"rev": "3bf48d3587d3f34f745a19ebc968b002ef5b5c5a",
"type": "github"
},
"original": {
···
"nixpkgs_2": {
"locked": {
"lastModified": 0,
-
"narHash": "sha256-MWyfCH9K3eVTXJUxBi67OQSAh9jJAnvWklM6qm4j8w8=",
-
"path": "/nix/store/qdsi66bin3h3yimbn35fxbj7fwdpi739-source",
"type": "path"
},
"original": {
···
},
"nixpkgs_4": {
"locked": {
-
"lastModified": 1658644204,
-
"narHash": "sha256-MWyfCH9K3eVTXJUxBi67OQSAh9jJAnvWklM6qm4j8w8=",
"owner": "NixOS",
"repo": "nixpkgs",
-
"rev": "2f0c3be57c348f4cfd8820f2d189e29a685d9c41",
"type": "github"
},
"original": {
···
},
"nixpkgs_5": {
"locked": {
-
"lastModified": 1656753965,
-
"narHash": "sha256-BCrB3l0qpJokOnIVc3g2lHiGhnjUi0MoXiw6t1o8H1E=",
"owner": "nixos",
"repo": "nixpkgs",
-
"rev": "0ea7a8f1b939d74e5df8af9a8f7342097cdf69eb",
-
"type": "github"
-
},
-
"original": {
-
"owner": "nixos",
-
"ref": "nixos-unstable",
-
"repo": "nixpkgs",
-
"type": "github"
-
}
-
},
-
"nixpkgs_6": {
-
"locked": {
-
"lastModified": 1657447684,
-
"narHash": "sha256-FCP9AuU1q6PE3vOeM5SFf58f/UKPBAsoSGDUGamNBbo=",
-
"owner": "nixos",
-
"repo": "nixpkgs",
-
"rev": "5f43d8b088d3771274bcfb69d3c7435b1121ac88",
"type": "github"
},
"original": {
···
},
"nur": {
"locked": {
-
"lastModified": 1657563923,
-
"narHash": "sha256-gvouxQe93ynZzlUWBxGbk7TJRzAQ5w3wiyNRYODiFJM=",
"owner": "nix-community",
"repo": "NUR",
-
"rev": "ba9415d7c8ad896048d4d54d770f2d0c45791d1a",
"type": "github"
},
"original": {
···
},
"rnix-lsp": {
"inputs": {
-
"naersk": "naersk_2",
-
"nixpkgs": "nixpkgs_5",
-
"utils": "utils_2"
},
"locked": {
-
"lastModified": 1658492037,
-
"narHash": "sha256-i4TL1Tb/q7Y+Jk5JWk6FRWWei6yH0WtYVTnmmAr9B0c=",
"owner": "nix-community",
"repo": "rnix-lsp",
-
"rev": "e6a41cbd317a21763ba61a19e594a3e1bf1023ca",
"type": "github"
},
"original": {
···
"inputs": {
"bernbot": "bernbot",
"blog": "blog",
"fufexan": "fufexan",
"helix": "helix_2",
"home": "home",
···
"nixinate": "nixinate",
"nixos-hardware": "nixos-hardware",
"nixos-persistence": "nixos-persistence",
-
"nixpkgs": "nixpkgs_6",
"nur": "nur"
}
},
···
},
"rust-overlay_2": {
"inputs": {
-
"flake-utils": "flake-utils_4",
"nixpkgs": [
"fufexan",
"helix",
···
},
"rust-overlay_3": {
"inputs": {
-
"flake-utils": "flake-utils_5",
"nixpkgs": [
"helix",
"nixpkgs"
···
"type": "github"
}
},
-
"utils": {
"locked": {
-
"lastModified": 1653893745,
-
"narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=",
-
"owner": "numtide",
-
"repo": "flake-utils",
-
"rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1",
"type": "github"
},
"original": {
-
"owner": "numtide",
-
"repo": "flake-utils",
"type": "github"
}
},
-
"utils_2": {
"locked": {
-
"lastModified": 1656928814,
-
"narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=",
"owner": "numtide",
"repo": "flake-utils",
-
"rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249",
"type": "github"
},
"original": {
···
"type": "github"
}
},
-
"utils_3": {
"locked": {
"lastModified": 1653893745,
"narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=",
···
"flake": false,
"locked": {
"host": "gitlab.freedesktop.org",
-
"lastModified": 1656865312,
-
"narHash": "sha256-xtQ0zwJZwN8sciruveM10CzKz6TWxBY8SyXa8E4jly4=",
"owner": "wlroots",
"repo": "wlroots",
-
"rev": "5dc1d4671dd2ca3c1f0f09587c463fdbb542f0a4",
"type": "gitlab"
},
"original": {
···
"flake": false,
"locked": {
"host": "gitlab.freedesktop.org",
-
"lastModified": 1655824477,
-
"narHash": "sha256-1kskHOLsnisR3kqIL5IHrQbQG/4xoXxeEf1ExMV6/RU=",
"owner": "wlroots",
"repo": "wlroots",
-
"rev": "5c4384a1330faedf975c8b8644881d50390f3613",
"type": "gitlab"
},
"original": {
···
]
},
"locked": {
+
"lastModified": 1659725433,
+
"narHash": "sha256-1ZxuK67TL29YLw88vQ18Y2Y6iYg8Jb7I6/HVzmNB6nM=",
"owner": "serokell",
"repo": "deploy-rs",
+
"rev": "41f15759dd8b638e7b4f299730d94d5aa46ab7eb",
"type": "github"
},
"original": {
···
},
"devshell_2": {
"inputs": {
+
"flake-utils": "flake-utils_2",
"nixpkgs": "nixpkgs"
},
"locked": {
···
}
},
"discocss": {
+
"inputs": {
+
"flake-utils": "flake-utils",
+
"nixpkgs": [
+
"nixpkgs"
+
]
+
},
+
"locked": {
+
"lastModified": 1657375072,
+
"narHash": "sha256-kaRGVoiJJOAAvqlO++1yNexJHCBtCK3ROkAtAAZKt2s=",
+
"owner": "fufexan",
+
"repo": "discocss",
+
"rev": "ca08c085637061366ed41c6f282d086e24dbf2ec",
+
"type": "github"
+
},
+
"original": {
+
"owner": "fufexan",
+
"ref": "flake",
+
"repo": "discocss",
+
"type": "github"
+
}
+
},
+
"discocss_2": {
"inputs": {
"flake-utils": [
"fufexan",
···
},
"emacs-overlay": {
"inputs": {
+
"flake-utils": "flake-utils_3",
"nixpkgs": "nixpkgs_2"
},
"locked": {
+
"lastModified": 1659983351,
+
"narHash": "sha256-FsTn0f0t2B7AKAtCDOYd34ztKa+XOUtzRa4FtO8HgDw=",
"owner": "nix-community",
"repo": "emacs-overlay",
+
"rev": "a3770a9a619f508a0828df30cb10858663d4538b",
"type": "github"
},
"original": {
···
"inputs": {
"fenix": "fenix",
"flake-compat": "flake-compat_2",
+
"flake-utils": "flake-utils_4",
"naersk": [
"fufexan",
"naersk"
···
]
},
"locked": {
+
"lastModified": 1658940629,
+
"narHash": "sha256-h5NoiiLolTjpeX73qU1j5fxscTIjN+BIo2bsaJY+Pts=",
"owner": "elkowar",
"repo": "eww",
+
"rev": "aac4c3aef4fa7dd42b3464be86d26debad66d7c1",
"type": "github"
},
"original": {
···
},
"flake-utils": {
"locked": {
+
"lastModified": 1619345332,
+
"narHash": "sha256-qHnQkEp1uklKTpx3MvKtY6xzgcqXDsz5nLilbbuL+3A=",
+
"owner": "numtide",
+
"repo": "flake-utils",
+
"rev": "2ebf2558e5bf978c7fb8ea927dfaed8fefab2e28",
+
"type": "github"
+
},
+
"original": {
+
"owner": "numtide",
+
"repo": "flake-utils",
+
"type": "github"
+
}
+
},
+
"flake-utils_2": {
+
"locked": {
"lastModified": 1642700792,
"narHash": "sha256-XqHrk7hFb+zBvRg6Ghl+AZDq03ov6OshJLiSWOoX5es=",
"owner": "numtide",
···
"type": "github"
}
},
+
"flake-utils_3": {
"locked": {
+
"lastModified": 1659877975,
+
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
"owner": "numtide",
"repo": "flake-utils",
+
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
"type": "github"
},
"original": {
···
"type": "github"
}
},
+
"flake-utils_4": {
"locked": {
"lastModified": 1634851050,
"narHash": "sha256-N83GlSGPJJdcqhUxSCS/WwW5pksYf3VP1M13cDRTSVA=",
···
"type": "github"
}
},
+
"flake-utils_5": {
"locked": {
"lastModified": 1637014545,
"narHash": "sha256-26IZAc5yzlD9FlDT54io1oqG/bBoyka+FJk5guaX4x4=",
···
"type": "github"
}
},
+
"flake-utils_6": {
"locked": {
"lastModified": 1637014545,
"narHash": "sha256-26IZAc5yzlD9FlDT54io1oqG/bBoyka+FJk5guaX4x4=",
···
},
"fu": {
"locked": {
+
"lastModified": 1659877975,
+
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
"owner": "numtide",
"repo": "flake-utils",
+
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
"type": "github"
},
"original": {
···
"inputs": {
"deploy-rs": "deploy-rs",
"devshell": "devshell_2",
+
"discocss": "discocss_2",
"emacs-overlay": "emacs-overlay",
"eww": "eww",
"fu": "fu",
···
"hyprland-contrib": "hyprland-contrib",
"kmonad": "kmonad",
"naersk": "naersk",
+
"nil": "nil",
"nix-colors": "nix-colors",
"nix-gaming": "nix-gaming",
"nixpkgs": "nixpkgs_4",
+
"rnix-lsp": "rnix-lsp",
+
"spicetify-nix": "spicetify-nix"
},
"locked": {
+
"lastModified": 1660172648,
+
"narHash": "sha256-aysHb+76bnmgscx3Jgsgtn/fxCLnaH0GYfB+aB2HXeA=",
"owner": "fufexan",
"repo": "dotfiles",
+
"rev": "d8ef562706bca897af2b7e0f178deffb02aa9c08",
"type": "github"
},
"original": {
···
"rust-overlay": "rust-overlay_2"
},
"locked": {
+
"lastModified": 1659892787,
+
"narHash": "sha256-G0+P2ktmCtX3zcE8Qfnwc717xSPYlbj87i2vwvq9IDA=",
"owner": "helix-editor",
"repo": "helix",
+
"rev": "3e11017ade8b25e580b20dab5187374fa3338bae",
"type": "github"
},
"original": {
···
"nixpkgs": [
"nixpkgs"
],
+
"rust-overlay": "rust-overlay_4"
},
"locked": {
+
"lastModified": 1660168643,
+
"narHash": "sha256-1B/sWD7ltMs4k3DC6oxUD6mQYmKrCyrLVLIBK/5OL9w=",
"owner": "helix-editor",
"repo": "helix",
+
"rev": "d192d597535e50d3ce4a29fbd4dc13cb92320ea5",
"type": "github"
},
"original": {
···
"utils": "utils"
},
"locked": {
+
"lastModified": 1659978484,
+
"narHash": "sha256-VkErPc8pXcuFQG7jkkaUOEMORe81oweRNlAYZJ2+aRI=",
"owner": "nix-community",
"repo": "home-manager",
+
"rev": "c1addfdad3825f75a66f8d73ec7d2f68c78ba6f8",
"type": "github"
},
"original": {
···
"nixpkgs": [
"nixpkgs"
],
+
"utils": "utils_2"
},
"locked": {
+
"lastModified": 1659978484,
+
"narHash": "sha256-VkErPc8pXcuFQG7jkkaUOEMORe81oweRNlAYZJ2+aRI=",
"owner": "nix-community",
"repo": "home-manager",
+
"rev": "c1addfdad3825f75a66f8d73ec7d2f68c78ba6f8",
"type": "github"
},
"original": {
···
"wlroots": "wlroots"
},
"locked": {
+
"lastModified": 1660148977,
+
"narHash": "sha256-eR/qlC8eDY7A+bkkiF28xCG0cPJr4HilMcD3/QJ05TQ=",
"owner": "hyprwm",
"repo": "Hyprland",
+
"rev": "f64f94ca565a2ec9f174f57a20fcfbfddb762cb8",
"type": "github"
},
"original": {
···
"wlroots": "wlroots_2"
},
"locked": {
+
"lastModified": 1660168160,
+
"narHash": "sha256-dBfG89ugpHbWwqSexCtGqpHs4lZxO5zXWHAT5P2v06I=",
"owner": "hyprwm",
"repo": "Hyprland",
+
"rev": "cd75606f4232787a9faf55db0835b29e3bb45ae9",
"type": "github"
},
"original": {
···
]
},
"locked": {
+
"lastModified": 1659610603,
+
"narHash": "sha256-LYgASYSPYo7O71WfeUOaEUzYfzuXm8c8eavJcel+pfI=",
"owner": "nmattia",
"repo": "naersk",
+
"rev": "c6a45e4277fa58abd524681466d3450f896dc094",
"type": "github"
},
"original": {
···
"type": "github"
}
},
"nci": {
"inputs": {
"devshell": "devshell",
···
"type": "github"
}
},
+
"nil": {
+
"inputs": {
+
"flake-utils": [
+
"fufexan",
+
"fu"
+
],
+
"nixpkgs": [
+
"fufexan",
+
"nixpkgs"
+
],
+
"rust-overlay": "rust-overlay_3"
+
},
+
"locked": {
+
"lastModified": 1659996948,
+
"narHash": "sha256-f91TFtsKVoejb7rW9zRs7WozGMqzDgHMxO/Q/gQKFpU=",
+
"owner": "oxalica",
+
"repo": "nil",
+
"rev": "e222ab8363be9c02400eb94384837653930e4b8c",
+
"type": "github"
+
},
+
"original": {
+
"owner": "oxalica",
+
"repo": "nil",
+
"type": "github"
+
}
+
},
"nix-colors": {
"inputs": {
"base16-schemes": "base16-schemes",
···
"nixpkgs": "nixpkgs_3"
},
"locked": {
+
"lastModified": 1659340932,
+
"narHash": "sha256-CEeGgZLN5ukOrbvwKTh66miEQ3cA2poH4tko6C7ULS4=",
"owner": "fufexan",
"repo": "nix-gaming",
+
"rev": "69b8118d92c5bd135f2d139d87fb01d34de9a244",
"type": "github"
},
"original": {
···
},
"nixos-hardware": {
"locked": {
+
"lastModified": 1660030916,
+
"narHash": "sha256-KeVTmST6vAS85uUaSYlzv6OWhveawfIGhqX1SMq+L30=",
"owner": "nixos",
"repo": "nixos-hardware",
+
"rev": "3975d5158f00accda15a11180b2c08654cfb2807",
"type": "github"
},
"original": {
···
"nixpkgs_2": {
"locked": {
"lastModified": 0,
+
"narHash": "sha256-7Ye59iW/DUWb8PzptEqdyYPlv6y+IhqKecaoZl3q68A=",
+
"path": "/nix/store/3a2j1ra0ymsmrmibafh96gryipxidyy7-source",
"type": "path"
},
"original": {
···
},
"nixpkgs_4": {
"locked": {
+
"lastModified": 1659987637,
+
"narHash": "sha256-8l+5QiCkackVPu/F3vX7RCKHyYKxEsq/TKMuaG6UX5k=",
"owner": "NixOS",
"repo": "nixpkgs",
+
"rev": "a47896bf817e7324471e687fc2bb2312fff682ce",
"type": "github"
},
"original": {
···
},
"nixpkgs_5": {
"locked": {
+
"lastModified": 1660071133,
+
"narHash": "sha256-XX6T9wcvEZIVWY4TO5O1d2MgFyFrF2v4TpCFs7fjdn8=",
"owner": "nixos",
"repo": "nixpkgs",
+
"rev": "36cc29d837e7232e3176e4651e8e117a6f231793",
"type": "github"
},
"original": {
···
},
"nur": {
"locked": {
+
"lastModified": 1660140306,
+
"narHash": "sha256-AXtZqd2elOoqSd57Jr3E5f86H8h4e+iNPtMHuj2R0Ps=",
"owner": "nix-community",
"repo": "NUR",
+
"rev": "5a911c0997ddec558b0da1588fe0e8af4cb8e769",
"type": "github"
},
"original": {
···
},
"rnix-lsp": {
"inputs": {
+
"naersk": [
+
"fufexan",
+
"naersk"
+
],
+
"nixpkgs": [
+
"fufexan",
+
"nixpkgs"
+
],
+
"utils": [
+
"fufexan",
+
"fu"
+
]
},
"locked": {
+
"lastModified": 1658963292,
+
"narHash": "sha256-4OIpATLdPQvryyhRQPELeqNYC0n6PCyjD6LCPdwOztc=",
"owner": "nix-community",
"repo": "rnix-lsp",
+
"rev": "ff18e04551a39ccdab0ff9c83926db3807b23478",
"type": "github"
},
"original": {
···
"inputs": {
"bernbot": "bernbot",
"blog": "blog",
+
"discocss": "discocss",
"fufexan": "fufexan",
"helix": "helix_2",
"home": "home",
···
"nixinate": "nixinate",
"nixos-hardware": "nixos-hardware",
"nixos-persistence": "nixos-persistence",
+
"nixpkgs": "nixpkgs_5",
"nur": "nur"
}
},
···
},
"rust-overlay_2": {
"inputs": {
+
"flake-utils": "flake-utils_5",
"nixpkgs": [
"fufexan",
"helix",
···
},
"rust-overlay_3": {
"inputs": {
+
"flake-utils": [
+
"fufexan",
+
"nil",
+
"flake-utils"
+
],
+
"nixpkgs": [
+
"fufexan",
+
"nil",
+
"nixpkgs"
+
]
+
},
+
"locked": {
+
"lastModified": 1659599305,
+
"narHash": "sha256-htzFq5RffyoKSZxiLfpUq5CyhkQwycsXB5ptale5e78=",
+
"owner": "oxalica",
+
"repo": "rust-overlay",
+
"rev": "28cedcb8dfea9f1b96b0635cf99fe6bdca163f4e",
+
"type": "github"
+
},
+
"original": {
+
"owner": "oxalica",
+
"repo": "rust-overlay",
+
"type": "github"
+
}
+
},
+
"rust-overlay_4": {
+
"inputs": {
+
"flake-utils": "flake-utils_6",
"nixpkgs": [
"helix",
"nixpkgs"
···
"type": "github"
}
},
+
"spicetify-nix": {
+
"inputs": {
+
"nixpkgs": [
+
"fufexan",
+
"nixpkgs"
+
]
+
},
"locked": {
+
"lastModified": 1660056496,
+
"narHash": "sha256-m7hREOZD/A2NIP970NsNG65NRMg+qpKqhLqRvjL4Kgs=",
+
"owner": "the-argus",
+
"repo": "spicetify-nix",
+
"rev": "ba37a751fb8a8d8b29271b354b6abb5d709b280e",
"type": "github"
},
"original": {
+
"owner": "the-argus",
+
"repo": "spicetify-nix",
"type": "github"
}
},
+
"utils": {
"locked": {
+
"lastModified": 1653893745,
+
"narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=",
"owner": "numtide",
"repo": "flake-utils",
+
"rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1",
"type": "github"
},
"original": {
···
"type": "github"
}
},
+
"utils_2": {
"locked": {
"lastModified": 1653893745,
"narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=",
···
"flake": false,
"locked": {
"host": "gitlab.freedesktop.org",
+
"lastModified": 1659738224,
+
"narHash": "sha256-bV3TLiCgptpKoUKLiH/5RMtiIsfn0hawdaCEHQFB6WY=",
"owner": "wlroots",
"repo": "wlroots",
+
"rev": "3baf2a6bcfc4cb86c364f5724aaec80f28715a01",
"type": "gitlab"
},
"original": {
···
"flake": false,
"locked": {
"host": "gitlab.freedesktop.org",
+
"lastModified": 1659738224,
+
"narHash": "sha256-bV3TLiCgptpKoUKLiH/5RMtiIsfn0hawdaCEHQFB6WY=",
"owner": "wlroots",
"repo": "wlroots",
+
"rev": "3baf2a6bcfc4cb86c364f5724aaec80f28715a01",
"type": "gitlab"
},
"original": {
+2
flake.nix
···
blog.inputs.nixpkgs.follows = "nixpkgs";
bernbot.url = "github:yusdacra/bernbot";
bernbot.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = inputs: let
···
blog.inputs.nixpkgs.follows = "nixpkgs";
bernbot.url = "github:yusdacra/bernbot";
bernbot.inputs.nixpkgs.follows = "nixpkgs";
+
discocss.url = "github:fufexan/discocss/flake";
+
discocss.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = inputs: let
+1 -2
hosts/tkaronto/default.nix
···
common-gpu-amd
common-cpu-amd
../../modules/persist
../../modules/network/iwd.nix
-
#../../modules/develop/nixbuild
../../users/root
../../users/patriot
];
···
autoMount = true;
};
flatpak.enable = false;
-
hardware.xow.enable = true;
};
virtualisation = {
···
common-gpu-amd
common-cpu-amd
../../modules/persist
+
../../modules/gamemode
../../modules/network/iwd.nix
../../users/root
../../users/patriot
];
···
autoMount = true;
};
flatpak.enable = false;
};
virtualisation = {
+7 -4
lib/default.nix
···
defaultSystems = import ./systems.nix;
genSystems = lib.genAttrs self.defaultSystems;
-
pkgBin = pkgs: id:
-
if lib.isString id
-
then "${pkgs.${id}}/bin/${id}"
-
else "${pkgs.${id.name}}/bin/${id.bin}";
})
···
defaultSystems = import ./systems.nix;
genSystems = lib.genAttrs self.defaultSystems;
+
pkgBin = pkg:
+
if (pkg.meta or {}) ? mainProgram
+
then "${pkg}/bin/${pkg.meta.mainProgram}"
+
else "${pkg}/bin/${pkg.pname}";
+
+
prefixStrings = prefix: strings:
+
lib.forEach strings (string: "${prefix}${string}");
})
+11 -10
modules/base/default.nix
···
coreBin = v: "${pkgs.coreutils}/bin/${v}";
nixBin = "${config.nix.package}/bin/nix";
-
pkgBin = tlib.pkgBin pkgs;
in {
imports = [
./nix.nix
···
];
shellAliases = let
ifSudo = string: mkIf config.security.sudo.enable string;
in {
-
g = pkgBin "git";
-
git-optimize = "${pkgBin "git"} gc --aggressive --prune=now";
-
cat = "${pkgBin "bat"} -pp --theme=base16";
c = "cat";
-
du = "${pkgs.du-dust}/bin/dust";
df = "${coreBin "df"} -h";
free = "${pkgs.procps}/bin/free -h";
-
ls = pkgBin "exa";
-
l = "${pkgBin "exa"} -lhg";
-
la = "${pkgBin "exa"} -lhg -a";
-
t = "${pkgBin "exa"} -lhg -T";
-
ta = "${pkgBin "exa"} -lhg -a -T";
n = nixBin;
nf = "${nixBin} flake";
nfu = "${nixBin} flake update";
···
coreBin = v: "${pkgs.coreutils}/bin/${v}";
nixBin = "${config.nix.package}/bin/nix";
+
pkgBin = tlib.pkgBin;
in {
imports = [
./nix.nix
···
];
shellAliases = let
ifSudo = string: mkIf config.security.sudo.enable string;
+
inherit (pkgs) git bat exa du-dust;
in {
+
g = pkgBin git;
+
git-optimize = "${pkgBin git} gc --aggressive --prune=now";
+
cat = "${pkgBin bat} -pp --theme=base16";
c = "cat";
+
du = "${pkgBin du-dust}";
df = "${coreBin "df"} -h";
free = "${pkgs.procps}/bin/free -h";
+
ls = pkgBin exa;
+
l = "${pkgBin exa} -lhg";
+
la = "${pkgBin exa} -lhg -a";
+
t = "${pkgBin exa} -lhg -T";
+
ta = "${pkgBin exa} -lhg -a -T";
n = nixBin;
nf = "${nixBin} flake";
nfu = "${nixBin} flake update";
+6 -2
modules/base/hm-system-defaults.nix
···
{
config,
inputs,
...
}: {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.sharedModules = [
{
-
home.sessionVariables = {inherit (config.environment.sessionVariables) NIX_PATH;};
xdg.configFile."nix/registry.json".text = config.environment.etc."nix/registry.json".text;
xdg.configFile."nix/nix.conf".source = config.environment.etc."nix/nix.conf".source;
xdg.configFile."nix/netrc".source = config.environment.etc."nix/netrc".source;
}
];
-
home-manager.extraSpecialArgs = {inherit inputs;};
}
···
{
config,
inputs,
+
tlib,
...
}: {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.sharedModules = [
{
+
home = {
+
inherit (config.environment) shellAliases sessionVariables;
+
stateVersion = config.system.stateVersion;
+
};
xdg.configFile."nix/registry.json".text = config.environment.etc."nix/registry.json".text;
xdg.configFile."nix/nix.conf".source = config.environment.etc."nix/nix.conf".source;
xdg.configFile."nix/netrc".source = config.environment.etc."nix/netrc".source;
}
];
+
home-manager.extraSpecialArgs = {inherit inputs tlib;};
}
+31
modules/gamemode/default.nix
···
···
+
{
+
pkgs,
+
inputs,
+
...
+
}: let
+
hyprland = inputs.fufexan.packages.${pkgs.system}.hyprland;
+
+
startscript = pkgs.writeShellScript "gamemode-start" ''
+
export HYPRLAND_INSTANCE_SIGNATURE=$(ls /tmp/hypr | sort | tail -n 1)
+
${hyprland}/bin/hyprctl --batch 'keyword decoration:blur 0 ; keyword animations:enabled 0 ; keyword misc:no_vfr 1'
+
'';
+
+
endscript = pkgs.writeShellScript "gamemode-end" ''
+
export HYPRLAND_INSTANCE_SIGNATURE=$(ls /tmp/hypr | sort | tail -n 1)
+
${hyprland}/bin/hyprctl --batch 'keyword decoration:blur 1 ; keyword animations:enabled 1 ; keyword misc:no_vfr 0'
+
'';
+
in {
+
programs.gamemode = {
+
enable = true;
+
settings = {
+
general = {
+
softrealtime = "auto";
+
renice = 15;
+
};
+
custom = {
+
start = "${startscript}";
+
end = "${endscript}";
+
};
+
};
+
};
+
}
+2 -1
pkgs-set/default.nix
···
inputs,
system,
lib,
...
}: let
l = lib;
···
${l.removeSuffix ".nix" name} =
prev.callPackage
"${./pkgs}/${name}"
-
{inherit inputs;};
}
)
(l.readDir ./pkgs);
···
inputs,
system,
lib,
+
tlib,
...
}: let
l = lib;
···
${l.removeSuffix ".nix" name} =
prev.callPackage
"${./pkgs}/${name}"
+
{inherit inputs tlib;};
}
)
(l.readDir ./pkgs);
-3
pkgs-set/overlays/hyprland.nix
···
-
{inputs}: final: prev: {
-
hyprland = inputs.fufexan.packages.${prev.system}.hyprland;
-
}
···
-24
pkgs-set/overlays/phantom.nix
···
-
final: prev: {
-
phantomstyle =
-
prev.stdenv.mkDerivation
-
{
-
pname = "phantomstyle";
-
version = "6e9580b";
-
src =
-
builtins.fetchGit
-
{
-
url = "https://github.com/randrew/phantomstyle.git";
-
rev = "6e9580b72e372b5acecd616434eaf441bf73bcf4";
-
};
-
dontWrapQtApps = true;
-
buildInputs = [prev.libsForQt5.qt5.qtbase];
-
buildPhase = ''
-
cd src/styleplugin
-
qmake && make
-
'';
-
installPhase = ''
-
mkdir -p $out/$qtPluginPrefix/styles
-
mv libphantomstyleplugin.so $out/$qtPluginPrefix/styles
-
'';
-
};
-
}
···
+14
pkgs-set/pkgs/comic-mono.nix
···
···
+
{
+
fetchurl,
+
runCommand,
+
...
+
}: let
+
ttf = fetchurl {
+
url = "https://dtinth.github.io/comic-mono-font/ComicMono.ttf";
+
sha256 = "sha256-O8FCXpIqFqvw7HZ+/+TQJoQ5tMDc6YQy4H0V9drVcZY=";
+
};
+
in
+
runCommand "comic-mono" {} ''
+
mkdir -p $out/share/fonts/truetype
+
ln -s ${ttf} $out/share/fonts/truetype
+
''
+3 -2
pkgs-set/pkgs/generate-firefox-addons.nix
···
nur,
treefmt,
writers,
...
}:
writers.writeBashBin "generate-firefox-addons" ''
-
${nur.repos.rycee.firefox-addons-generator}/bin/nixpkgs-firefox-addons \
users/modules/firefox/extensions.json \
users/modules/firefox/extensions.nix
-
${treefmt}/bin/treefmt
''
···
nur,
treefmt,
writers,
+
tlib,
...
}:
writers.writeBashBin "generate-firefox-addons" ''
+
${tlib.pkgBin nur.repos.rycee.mozilla-addons-to-nix} \
users/modules/firefox/extensions.json \
users/modules/firefox/extensions.nix
+
${tlib.pkgBin treefmt}
''
+15
users/modules/discord/default.nix
···
···
+
{
+
inputs,
+
pkgs,
+
...
+
}: {
+
imports = [inputs.discocss.hmModule];
+
+
programs.discocss = {
+
enable = true;
+
discord =
+
inputs.fufexan.packages.${pkgs.system}.discord-electron-openasar;
+
discordAlias = true;
+
css = builtins.readFile ./theme.css;
+
};
+
}
+215
users/modules/discord/theme.css
···
···
+
.theme-dark,
+
.theme-light {
+
--brand-experiment: #f5e0dc;
+
--brand-experiment-560: #f5e0dc;
+
--brand-experiment-200: #cdd6f4;
+
--brand-experiment-15a: #585b70;
+
--brand-experiment-600: #efcec8;
+
--header-primary: #a6adc8;
+
--header-secondary: #bac2de;
+
--text-normal: #cdd6f4;
+
--text-muted: #a6adc8;
+
--text-link: #f5e0dc;
+
--text-positive: #a6e3a1;
+
--text-warning: #f9e2af;
+
--text-danger: #f38ba8;
+
--text-brand: #89b4fa;
+
--interactive-normal: #9399b2;
+
--interactive-hover: #9399b2;
+
--interactive-active: #cdd6f4;
+
--interactive-muted: #45475a;
+
--background-primary: #1e1e2e;
+
--background-secondary: #181825;
+
--background-secondary-alt: #11111b;
+
--background-tertiary: #11111b;
+
--background-accent: #45475a;
+
--background-floating: #181825;
+
--background-nested-floating: #2f3136;
+
--background-mobile-primary: #36393f;
+
--background-mobile-secondary: #2f3136;
+
--chat-background: #36393f;
+
--chat-border: #202225;
+
--chat-input-container-background: #36393f;
+
--background-modifier-hover: #45475a;
+
--background-modifier-active: #585b70;
+
--background-modifier-selected: #585b70;
+
--background-modifier-accent: rgba(79,84,92,0.48);
+
--info-warning-background: rgba(249,226,175,0.1);
+
--info-warning-foreground: #f9e2af;
+
/*--info-warning-text: #fff;
+
--info-danger-background: hsla(359,calc(var(--saturation-factor, 1)*82.6%),59.4%,0.1);
+
--info-danger-foreground: hsl(359,calc(var(--saturation-factor, 1)*82.6%),59.4%);
+
--info-danger-text: #fff;
+
--info-help-background: hsla(197,calc(var(--saturation-factor, 1)*100%),47.8%,0.1);
+
--info-help-foreground: hsl(197,calc(var(--saturation-factor, 1)*100%),47.8%);
+
--info-help-text: #fff;
+
--status-positive-background: hsl(139,calc(var(--saturation-factor, 1)*47.1%),33.3%);
+
--status-positive-text: #fff;
+
--status-warning-background: hsl(38,calc(var(--saturation-factor, 1)*95.7%),54.1%);
+
--status-warning-text: #000;*/
+
--status-danger-background: #f38ba8;
+
--status-danger-text: #cdd6f4;
+
--status-danger: #f38ba8;
+
--status-positive: #a6e3a1;
+
--status-warning: #fab387;
+
--button-danger-background: #f38ba8;
+
--button-danger-background-hover: #f5a2b9;
+
--button-danger-background-active: #f17497;
+
--button-danger-background-disabled: #532c37;
+
--button-positive-background: #a6e3a1;
+
--button-positive-background-hover: #b9e9b5;
+
--button-positive-background-active: #93dd8d;
+
--button-positive-background-disabled: #404540;
+
--button-secondary-background: #313244;
+
--button-secondary-background-hover: #45475a;
+
--button-secondary-background-active: #585b70;
+
--button-secondary-background-disabled: #f00;
+
--button-outline-danger-text: #cdd6f4;
+
--button-outline-danger-border: #f38ba8;
+
--button-outline-danger-background: #f38ba8;
+
--button-outline-danger-background-hover: #f5a2b9;
+
--button-outline-danger-text-hover: #1e1e2e;
+
--button-outline-danger-border-hover: #f5a2b9;
+
--button-outline-danger-background-active: #f17497;
+
--button-outline-danger-text-active: #1e1e2e;
+
--button-outline-danger-border-active: #f17497;
+
--button-outline-positive-text: #fff;
+
/*--button-outline-positive-border: hsl(139,calc(var(--saturation-factor, 1)*47.3%),43.9%);
+
--button-outline-positive-background: hsla(0,0%,100%,0);
+
--button-outline-positive-background-hover: hsl(139,calc(var(--saturation-factor, 1)*47.1%),33.3%);
+
--button-outline-positive-text-hover: #fff;
+
--button-outline-positive-border-hover: hsl(139,calc(var(--saturation-factor, 1)*47.1%),33.3%);
+
--button-outline-positive-background-active: hsl(138,calc(var(--saturation-factor, 1)*46.8%),24.3%);
+
--button-outline-positive-text-active: #fff;
+
--button-outline-positive-border-active: hsl(138,calc(var(--saturation-factor, 1)*46.8%),24.3%);
+
--button-outline-brand-text: #fff;
+
--button-outline-brand-border: hsl(235,calc(var(--saturation-factor, 1)*85.6%),64.7%);
+
--button-outline-brand-background: hsla(0,0%,100%,0);
+
--button-outline-brand-background-hover: hsl(235,calc(var(--saturation-factor, 1)*85.6%),64.7%);
+
--button-outline-brand-text-hover: #fff;
+
--button-outline-brand-border-hover: hsl(235,calc(var(--saturation-factor, 1)*85.6%),64.7%);
+
--button-outline-brand-background-active: hsl(235,calc(var(--saturation-factor, 1)*51.4%),52.4%);
+
--button-outline-brand-text-active: #fff;
+
--button-outline-brand-border-active: hsl(235,calc(var(--saturation-factor, 1)*51.4%),52.4%);*/
+
--button-outline-primary-text: #fff;
+
--button-outline-primary-border: #4f545c;
+
--button-outline-primary-background: rgba(255,255,255,0);
+
--button-outline-primary-background-hover: #4f545c;
+
--button-outline-primary-text-hover: #fff;
+
--button-outline-primary-border-hover: #4f545c;
+
--button-outline-primary-background-active: #686d73;
+
--button-outline-primary-text-active: #fff;
+
--button-outline-primary-border-active: #686d73;
+
--modal-background: #181825;
+
--modal-footer-background: #11111b;
+
--scrollbar-thin-thumb: #313244;
+
--scrollbar-thin-track: transparent;
+
--scrollbar-auto-thumb: #313244;
+
--scrollbar-auto-track: transparent;
+
--scrollbar-auto-scrollbar-color-thumb: #313244;
+
--scrollbar-auto-scrollbar-color-track: transparent;
+
--input-background: #313244;
+
--input-placeholder-text: #7f849c;
+
--elevation-stroke: 0 0 0 1px rgba(4,4,5,0.15);
+
--elevation-low: 0 1px 0 rgba(4,4,5,0.2), 0 1.5px 0 rgba(6,6,7,0.05), 0 2px 0 rgba(4,4,5,0.05);
+
--elevation-medium: 0 4px 4px rgba(0,0,0,0.16);
+
--elevation-high: 0 8px 16px rgba(0,0,0,0.24);
+
--logo-primary: #fff;
+
--background-mentioned: rgba(249,226,175,0.1);
+
--background-mentioned-hover: rgba(249,226,175,0.08);
+
--background-message-hover: rgba(24,24,37,0.25);
+
--channels-default: #7f849c;
+
--channel-icon: #a6adc8;
+
--channel-text-area-placeholder: #72767d;
+
--guild-header-text-shadow: 0 1px 1px rgba(0,0,0,0.4);
+
--channeltextarea-background: #313244;
+
--activity-card-background: #202225;
+
--textbox-markdown-syntax: #8e9297;
+
--spoiler-revealed-background: #292b2f;
+
--spoiler-hidden-background: #202225;
+
--android-navigation-bar-background: #121315;
+
--deprecated-card-bg: #181825;
+
--deprecated-card-editable-bg: rgba(32,34,37,0.3);
+
--deprecated-store-bg: #36393f;
+
--deprecated-quickswitcher-input-background: #72767d;
+
--deprecated-quickswitcher-input-placeholder: rgba(255,255,255,0.3);
+
--deprecated-text-input-bg: #202225;
+
--deprecated-text-input-border: rgba(0,0,0,0.3);
+
--deprecated-text-input-border-hover: #040405;
+
--deprecated-text-input-border-disabled: #202225;
+
--deprecated-text-input-prefix: #dcddde;
+
}
+
/* Reactions */
+
.reaction-3vwAF2 {
+
background-color: #313244;
+
}
+
.reaction-3vwAF2:hover {
+
background-color: #45475a;
+
}
+
/* Buttons */
+
.lookFilled-yCfaCM.colorBrand-I6CyqQ,
+
.lookFilled-yCfaCM.colorRed-rQXKgM,
+
.lookFilled-yCfaCM.colorGreen-3y-Z79,
+
.selected-2Uns2B,
+
.colorDefault-CDqZdO.focused-3qFvc8,
+
.barButtonBase-Sk2mdB {
+
color: #1e1e2e;
+
}
+
.colorDanger-3n-KnP:active:not(.hideInteraction-2jPGL_) {
+
background-color: #f38ba8;
+
color: #1e1e2e;
+
}
+
.lookFilled-yCfaCM.colorPrimary-2AuQVo {
+
background-color: #313244;
+
color: #cdd6f4;
+
}
+
/* Checkbox */
+
.checked-25WXMf {
+
background-color: #a6e3a1 !important;
+
}
+
/* Bot tag */
+
.botTagRegular-kpctgU {
+
color: #1e1e2e;
+
}
+
/* Message hover buttons */
+
.wrapper-2vIMkT {
+
background-color: #313244;
+
}
+
/* DMs page */
+
.container-2cd8Mz {
+
background-color: #1e1e2e !important;
+
}
+
/* Delete message pupup */
+
.theme-dark .message-G6O-Wv {
+
background-color: #11111b;
+
}
+
.autocomplete-3NRXG8 {
+
background: #1e1e2e !important;
+
}
+
.categoryHeader-OpJ1Ly {
+
background: #181825;
+
}
+
rect[fill^="hsl(139"] {
+
fill: #a6e3a1;
+
}
+
rect[fill^="hsl(38"] {
+
fill: #f9e2af;
+
}
+
rect[fill^="hsl(359"] {
+
fill: #f38ba8;
+
}
+
rect[fill^="hsl(214"] {
+
fill: #a6adc8;
+
}
+
div[style^="background-color: hsl(139"] {
+
background-color: #a6e3a1 !important;
+
}
+
div[style^="background-color: hsl(38"] {
+
background-color: #f9e2af !important;
+
}
+
div[style^="background-color: hsl(359"] {
+
background-color: #f38ba8 !important;
+
}
+
div[style^="background-color: hsl(214"] {
+
background-color: #a6adc8 !important;
+
}
+1
users/modules/firefox/extensions.nix
···
sha256 = "d9453ae265608d3a1b17c812d77422ab2aaf357365e527812268a407643efa25";
meta = with lib; {
description = "Firefox theme based on <a href=\"https://outgoing.prod.mozaws.net/v1/110954a3f2718cf03892676379416caed51099b639f643aaf12989b7e698f073/https%3A//github.com/catppuccin/catppuccin\" rel=\"nofollow\">https://github.com/catppuccin/catppuccin</a>";
platforms = platforms.all;
};
};
···
sha256 = "d9453ae265608d3a1b17c812d77422ab2aaf357365e527812268a407643efa25";
meta = with lib; {
description = "Firefox theme based on <a href=\"https://outgoing.prod.mozaws.net/v1/110954a3f2718cf03892676379416caed51099b639f643aaf12989b7e698f073/https%3A//github.com/catppuccin/catppuccin\" rel=\"nofollow\">https://github.com/catppuccin/catppuccin</a>";
+
license = licenses.cc-by-30;
platforms = platforms.all;
};
};
+6
users/modules/fzf/default.nix
···
···
+
{config, ...}: {
+
programs.fzf.enable = true;
+
home.sessionVariables = {
+
FZF_DEFAULT_OPTS = "--color=spinner:#F8BD96,hl:#F28FAD --color=fg:#D9E0EE,header:#F28FAD,info:#DDB6F2,pointer:#F8BD96 --color=marker:#F8BD96,fg+:#F2CDCD,prompt:#DDB6F2,hl+:#F28FAD";
+
};
+
}
+156 -147
users/modules/hyprland/default.nix
···
-
{pkgs, ...}: {
-
systemd.user.targets.hyprland-session = {
-
Unit = {
-
Description = "hyprland compositor session";
-
Documentation = ["man:systemd.special(7)"];
-
BindsTo = ["graphical-session.target"];
-
Wants = ["graphical-session-pre.target"];
-
After = ["graphical-session-pre.target"];
-
};
-
};
-
xdg.enable = true;
-
xdg.configFile."hypr/hyprland.conf".text = let
-
rofi = "${pkgs.rofi-wayland}/bin/rofi";
-
launcher = "${rofi} -show drun";
-
term = "${pkgs.wezterm}/bin/wezterm";
-
swaybg = "${pkgs.swaybg}/bin/swaybg";
-
grim = "${pkgs.grim}/bin/grim";
-
light = "${pkgs.light}/bin/light";
-
playerctl = "${pkgs.playerctl}/bin/playerctl";
-
pulsemixer = "${pkgs.pulsemixer}/bin/pulsemixer";
-
slurp = "${pkgs.slurp}/bin/slurp";
-
wl-copy = "${pkgs.wl-clipboard}/bin/wl-copy";
-
notify-date = with pkgs;
-
writers.writeBash "notify-date" ''
-
${libnotify}/bin/notify-send -t 1000 " $(${coreutils}/bin/date +'%H:%M %d/%m/%Y')"
-
'';
-
in ''
-
# should be configured per-profile
-
monitor=,2560x1600@120,0x0,1.6
-
workspace=,1
-
exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY DISPLAY HYPRLAND_INSTANCE_SIGNATURE
-
exec-once=systemctl --user start graphical-session-pre.target
-
exec-once=systemctl --user start graphical-session.target
-
exec-once=${swaybg} -i ~/.config/wallpaper
-
exec-once=xprop -root -f _XWAYLAND_GLOBAL_OUTPUT_SCALE 32c -set _XWAYLAND_GLOBAL_OUTPUT_SCALE 1.6
-
input {
-
kb_layout=tr
-
kb_variant=
-
kb_model=
-
kb_options=
-
kb_rules=
-
follow_mouse=1
-
force_no_accel=1
-
touchpad {
-
natural_scroll=1
-
}
-
}
-
general {
-
sensitivity=1
-
main_mod=SUPER
-
gaps_in=5
-
gaps_out=5
-
border_size=0
-
damage_tracking=full
-
}
-
decoration {
-
rounding=16
-
blur=1
-
blur_size=3 # minimum 1
-
blur_passes=3 # minimum 1, more passes = more resource intensive.
-
# Your blur "amount" is blur_size * blur_passes, but high blur_size (over around 5-ish) will produce artifacts.
-
# if you want heavy blur, you need to up the blur_passes.
-
# the more passes, the more you can up the blur_size without noticing artifacts.
-
}
-
animations {
-
enabled=1
-
animation=windows,1,2,default
-
animation=borders,1,2,default
-
animation=fadein,1,2,default
-
animation=workspaces,1,2,slide
-
}
-
dwindle {
-
pseudotile=0 # enable pseudotiling on dwindle
-
}
-
# example window rules
-
# for windows named/classed as abc and xyz
-
#windowrule=move 69 420,abc
-
#windowrule=size 420 69,abc
-
#windowrule=tile,xyz
-
#windowrule=float,abc
-
#windowrule=pseudo,abc
-
#windowrule=monitor 0,xyz
-
bind=SUPER,RETURN,exec,${term}
-
bind=SUPER,D,exec,${launcher}
-
bind=SUPER,Q,killactive,
-
bind=SUPERSHIFT,E,exec,pkill Hyprland
-
bind=SUPER,F,fullscreen,
-
bind=SUPER,P,pseudo,
-
bind=SUPER,T,exec,${notify-date}
-
bind=SUPERSHIFT,T,togglefloating,
-
bind=,XF86AudioPlay,exec,${playerctl} play-pause
-
bind=,XF86AudioPrev,exec,${playerctl} previous
-
bind=,XF86AudioNext,exec,${playerctl} next
-
bind=,XF86AudioRaiseVolume,exec,${pulsemixer} --change-volume +6
-
bind=,XF86AudioLowerVolume,exec,${pulsemixer} --change-volume -6
-
bind=,XF86AudioMute,exec,${pulsemixer} --toggle-mute
-
bind=,XF86MonBrightnessUp,exec,${light} -A 5
-
bind=,XF86MonBrightnessDown,exec,${light} -U 5
-
# screenshot
-
# selection
-
$ssselection=${grim} -g "$(${slurp})" - | ${wl-copy} -t image/png
-
bind=,Print,exec,$ssselection
-
bind=SUPERSHIFT,R,exec,$ssselection
-
# monitor
-
$ssmonitor=${grim} -o "$(${slurp} -f %o -or)" - | ${wl-copy} -t image/png
-
bind=CTRL,Print,exec,$ssmonitor
-
bind=SUPERSHIFTCTRL,R,exec,$ssmonitor
-
# all-monitors
-
$ssall=${grim} - | ${wl-copy} -t image/png
-
bind=ALT,Print,exec,$ssall
-
bind=SUPERSHIFTALT,R,exec,$ssall
-
# move focus
-
bind=SUPER,left,movefocus,l
-
bind=SUPER,right,movefocus,r
-
bind=SUPER,up,movefocus,u
-
bind=SUPER,down,movefocus,d
-
# go to workspace
-
bind=SUPER,grave,togglespecialworkspace,eDP-1
-
bind=SUPER,1,workspace,1
-
bind=SUPER,2,workspace,2
-
bind=SUPER,3,workspace,3
-
bind=SUPER,4,workspace,4
-
bind=SUPER,5,workspace,5
-
bind=SUPER,6,workspace,6
-
bind=SUPER,7,workspace,7
-
bind=SUPER,8,workspace,8
-
bind=SUPER,9,workspace,9
-
bind=SUPER,0,workspace,10
-
# cycle workspaces
-
bind=SUPER,bracketleft,workspace,m-1
-
bind=SUPER,bracketright,workspace,m+1
-
# cycle monitors
-
bind=SUPERSHIFT,braceleft,focusmonitor,l
-
bind=SUPERSHIFT,braceright,focusmonitor,r
-
# move to workspace
-
bind=SUPERSHIFT,asciitilde,movetoworkspace,special
-
bind=SUPERSHIFT,exclam,movetoworkspace,1
-
bind=SUPERSHIFT,at,movetoworkspace,2
-
bind=SUPERSHIFT,numbersign,movetoworkspace,3
-
bind=SUPERSHIFT,dollar,movetoworkspace,4
-
bind=SUPERSHIFT,percent,movetoworkspace,5
-
bind=SUPERSHIFT,asciicircum,movetoworkspace,6
-
bind=SUPERSHIFT,ampersand,movetoworkspace,7
-
bind=SUPERSHIFT,asterisk,movetoworkspace,8
-
bind=SUPERSHIFT,parenleft,movetoworkspace,9
-
bind=SUPERSHIFT,parenright,movetoworkspace,10
-
'';
}
···
+
{
+
pkgs,
+
inputs,
+
...
+
}: {
+
imports = [
+
../wayland
+
inputs.hyprland.homeManagerModules.default
+
];
+
+
home.packages =
+
[
+
(import "${inputs.fufexan}/home/wayland/screenshot.nix" {inherit pkgs;})
+
]
+
++ (
+
with pkgs; [
+
wf-recorder
+
xorg.xprop
+
]
+
);
+
+
wayland.windowManager.hyprland = {
+
enable = true;
+
package = inputs.fufexan.packages.${pkgs.system}.hyprland;
+
extraConfig = let
+
rofi = "${pkgs.rofi-wayland}/bin/rofi";
+
launcher = "${rofi} -show drun";
+
term = "${pkgs.wezterm}/bin/wezterm";
+
+
swaybg = "${pkgs.swaybg}/bin/swaybg";
+
light = "${pkgs.light}/bin/light";
+
playerctl = "${pkgs.playerctl}/bin/playerctl";
+
pulsemixer = "${pkgs.pulsemixer}/bin/pulsemixer";
+
wl-copy = "${pkgs.wl-clipboard}/bin/wl-copy";
+
notify-date = with pkgs;
+
writers.writeBash "notify-date" ''
+
${libnotify}/bin/notify-send -t 1000 " $(${coreutils}/bin/date +'%H:%M %d/%m/%Y')"
+
'';
+
in ''
+
# should be configured per-profile
+
monitor=,preferred,auto,1.6
+
workspace=,1
+
+
exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY DISPLAY HYPRLAND_INSTANCE_SIGNATURE
+
exec-once=systemctl --user start hyprland-session.target
+
exec-once=${swaybg} -i ~/.config/wallpaper
+
+
input {
+
kb_layout=tr
+
follow_mouse=1
+
force_no_accel=1
+
touchpad {
+
natural_scroll=1
+
}
+
}
+
general {
+
sensitivity=1
+
main_mod=SUPER
+
gaps_in=5
+
gaps_out=5
+
border_size=0
+
damage_tracking=full
+
}
+
decoration {
+
rounding=16
+
blur=1
+
blur_size=3
+
blur_passes=3
+
blur_new_optimizations=1
+
drop_shadow=1
+
shadow_ignore_window=1
+
shadow_offset=2 2
+
shadow_range=2
+
shadow_render_power=1
+
col.shadow=0x55000000
+
}
+
animations {
+
enabled=1
+
animation=windows,1,3,default,popin 80%
+
animation=border,1,2,default
+
animation=fade,1,2,default
+
animation=workspaces,1,2,default,slide
+
}
+
dwindle {
+
pseudotile=0 # enable pseudotiling on dwindle
+
}
+
+
bind=SUPER,RETURN,exec,${term}
+
bind=SUPER,D,exec,${launcher}
+
bind=SUPER,Q,killactive,
+
bind=SUPERSHIFT,E,exec,pkill Hyprland
+
bind=SUPER,F,fullscreen,
+
bind=SUPER,P,pseudo,
+
bind=SUPER,T,exec,${notify-date}
+
bind=SUPERSHIFT,T,togglefloating,
+
bind=,XF86AudioPlay,exec,${playerctl} play-pause
+
bind=,XF86AudioPrev,exec,${playerctl} previous
+
bind=,XF86AudioNext,exec,${playerctl} next
+
bind=,XF86AudioRaiseVolume,exec,${pulsemixer} --change-volume +6
+
bind=,XF86AudioLowerVolume,exec,${pulsemixer} --change-volume -6
+
bind=,XF86AudioMute,exec,${pulsemixer} --toggle-mute
+
bind=,XF86MonBrightnessUp,exec,${light} -A 5
+
bind=,XF86MonBrightnessDown,exec,${light} -U 5
+
+
# move focus
+
bind=SUPER,left,movefocus,l
+
bind=SUPER,right,movefocus,r
+
bind=SUPER,up,movefocus,u
+
bind=SUPER,down,movefocus,d
+
+
# go to workspace
+
bind=SUPER,1,workspace,1
+
bind=SUPER,2,workspace,2
+
bind=SUPER,3,workspace,3
+
bind=SUPER,4,workspace,4
+
bind=SUPER,5,workspace,5
+
bind=SUPER,6,workspace,6
+
bind=SUPER,7,workspace,7
+
bind=SUPER,8,workspace,8
+
bind=SUPER,9,workspace,9
+
bind=SUPER,0,workspace,10
+
+
# cycle workspaces
+
bind=SUPER,bracketleft,workspace,m-1
+
bind=SUPER,bracketright,workspace,m+1
+
+
# cycle monitors
+
bind=SUPERSHIFT,braceleft,focusmonitor,l
+
bind=SUPERSHIFT,braceright,focusmonitor,r
+
+
# move to workspace
+
bind=SUPERSHIFT,1,movetoworkspace,1
+
bind=SUPERSHIFT,2,movetoworkspace,2
+
bind=SUPERSHIFT,3,movetoworkspace,3
+
bind=SUPERSHIFT,4,movetoworkspace,4
+
bind=SUPERSHIFT,5,movetoworkspace,5
+
bind=SUPERSHIFT,6,movetoworkspace,6
+
bind=SUPERSHIFT,7,movetoworkspace,7
+
bind=SUPERSHIFT,8,movetoworkspace,8
+
bind=SUPERSHIFT,9,movetoworkspace,9
+
+
## screenshot ##
+
bind=,Print,exec,screenshot area
+
bind=SUPERSHIFT,R,exec,screenshot area
+
+
# monitor
+
bind=CTRL,Print,exec,screenshot monitor
+
bind=SUPERSHIFTCTRL,R,exec,screenshot monitor
+
# all-monitors
+
bind=ALT,Print,exec,screenshot all
+
bind=SUPERSHIFTALT,R,exec,screenshot all
+
# screenrec
+
bind=ALT,Print,exec,screenshot rec area
+
bind=SUPERSHIFTALT,R,exec,screenshot rec area
+
'';
+
};
}
+17
users/modules/ssh/default.nix
···
···
+
{...}: {
+
programs.ssh = {
+
enable = true;
+
compression = true;
+
hashKnownHosts = true;
+
userKnownHostsFile = "~/.local/share/ssh/known-hosts";
+
# Only needed for darcs hub
+
# extraConfig = ''
+
# Host hub.darcs.net
+
# ControlMaster no
+
# ForwardAgent no
+
# ForwardX11 no
+
# Ciphers +aes256-cbc
+
# MACs +hmac-sha1
+
# '';
+
};
+
}
+20
users/modules/wayland/default.nix
···
···
+
{pkgs, ...}: {
+
home.packages = with pkgs; [
+
wl-clipboard
+
];
+
+
home.sessionVariables = {
+
NIXOS_OZONE_WL = "1";
+
MOZ_ENABLE_WAYLAND = "1";
+
SDL_VIDEODRIVER = "wayland";
+
QT_QPA_PLATFORM = "wayland";
+
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
+
};
+
+
services = {
+
gammastep = {
+
enable = true;
+
provider = "geoclue2";
+
};
+
};
+
}
+56
users/modules/zsh/default.nix
···
···
+
{
+
config,
+
tlib,
+
lib,
+
pkgs,
+
...
+
}: let
+
pkgBin = tlib.pkgBin;
+
in {
+
programs.zsh = {
+
enable = true;
+
autocd = true;
+
enableVteIntegration = true;
+
enableAutosuggestions = true;
+
enableCompletion = true;
+
plugins = [
+
{
+
name = "per-directory-history";
+
src = pkgs.fetchFromGitHub {
+
owner = "jimhester";
+
repo = "per-directory-history";
+
rev = "d2e291dd6434e340d9be0e15e1f5b94f32771c06";
+
hash = "sha256-VHRgrVCqzILqOes8VXGjSgLek38BFs9eijmp0JHtD5Q=";
+
};
+
}
+
];
+
# xdg compliant
+
dotDir = ".config/zsh";
+
history.path = "${config.home.homeDirectory}/.local/share/zsh/history";
+
initExtra = ''
+
${
+
lib.optionalString
+
(config.programs.ssh.enable && config.services.gpg-agent.enable)
+
"export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)"
+
}
+
+
function tomp4 () {
+
${pkgBin pkgs.ffmpeg} -i $1 -c:v libx264 -preset slow -crf 30 -c:a aac -b:a 128k "$1.mp4"
+
}
+
+
function topng () {
+
${pkgBin pkgs.ffmpeg} -i $1 "$1.png"
+
}
+
+
# fix some key stuff
+
bindkey "$terminfo[kRIT5]" forward-word
+
bindkey "$terminfo[kLFT5]" backward-word
+
+
# makes completions pog
+
zstyle ':completion:*' menu select
+
+
# which env we are in
+
${pkgBin pkgs.any-nix-shell} zsh --info-right | source /dev/stdin
+
'';
+
};
+
}
+53 -145
users/patriot/default.nix
···
inputs,
...
} @ globalAttrs: let
-
inherit (lib) mapAttrs' nameValuePair;
-
inherit (builtins) readDir fetchGit;
l = lib // builtins;
-
pkgBin = tlib.pkgBin pkgs;
nixosConfig = globalAttrs.config;
in {
-
imports = [
-
inputs.hyprland.nixosModules.default
-
];
-
users.users.patriot = {
isNormalUser = true;
createHome = true;
···
};
environment = {
persistence.${config.system.persistDir}.directories = l.flatten [
-
(lib.optional nixosConfig.programs.steam.enable "/home/patriot/.local/share/Steam")
"/home/patriot/.cargo"
"/home/patriot/proj"
"/home/patriot/games"
···
xdg.portal = {
enable = true;
wlr.enable = true;
-
gtkUsePortal = true;
-
extraPortals = with pkgs; [xdg-desktop-portal-gtk xdg-desktop-portal-wlr];
};
programs = {
# this is needed for impermanence
···
kdeconnect.enable = true;
# gnome stuffs
seahorse.enable = true;
-
hyprland.enable = true;
-
hyprland.extraPackages = [];
};
# gnome keyring better fr fr
security.pam.services.patriot = {
···
name = personal.name;
email = personal.emails.primary;
in {
-
imports = [
-
../modules/direnv
-
../modules/git
-
../modules/starship
-
../modules/helix
-
../modules/zoxide
-
../modules/wezterm
-
../modules/hyprland
-
../modules/rofi
-
../modules/mako
-
../modules/font
-
../modules/firefox
-
../../modules/persist
-
# ../modules/smos
-
inputs.nixos-persistence.nixosModules.home-manager.impermanence
-
];
system.persistDir = nixosConfig.system.persistDir;
home.persistence."${config.system.persistDir}${config.home.homeDirectory}" = let
-
mkPaths = prefix: paths:
-
builtins.map (n: "${prefix}/${n}") (l.flatten paths);
in {
directories =
l.flatten [
···
allowOther = true;
};
-
fonts.fontconfig.enable = lib.mkForce true;
fonts.settings = {
enable = true;
name = "Comic Mono";
size = 13;
-
package = let
-
ttf = pkgs.fetchurl {
-
url = "https://dtinth.github.io/comic-mono-font/ComicMono.ttf";
-
sha256 = "sha256-O8FCXpIqFqvw7HZ+/+TQJoQ5tMDc6YQy4H0V9drVcZY=";
-
};
-
in
-
pkgs.runCommandNoCC "comic-mono" {} ''
-
mkdir -p $out/share/fonts/truetype
-
ln -s ${ttf} $out/share/fonts/truetype
-
'';
};
home = {
-
stateVersion = nixosConfig.system.stateVersion;
homeDirectory = nixosConfig.users.users.patriot.home;
-
packages = with pkgs;
-
l.flatten [
-
# Font stuff
-
noto-fonts-cjk
-
font-awesome
-
dejavu_fonts
-
# Programs
-
bitwarden
-
cargo-outdated
-
cargo-release
-
cargo-udeps
-
vulkan-tools
-
krita
-
cachix
-
gnupg
-
imv
-
mpv
-
ffmpeg
-
mupdf
-
xdg_utils
-
wl-clipboard
-
xclip
-
rust-analyzer
-
# polymc
-
cloudflared
-
lutris
-
discord-open-asar
-
gamescope
-
protontricks
-
genymotion
-
];
-
shellAliases =
-
nixosConfig.environment.shellAliases
-
// {
-
harmony-ssh = ''
-
${pkgBin "mosh"} root@chat.harmonyapp.io
-
'';
-
};
-
sessionVariables =
-
nixosConfig.environment.sessionVariables
-
// l.optionalAttrs config.programs.fzf.enable {
-
FZF_DEFAULT_OPTS = "--color=spinner:#F8BD96,hl:#F28FAD --color=fg:#D9E0EE,header:#F28FAD,info:#DDB6F2,pointer:#F8BD96 --color=marker:#F8BD96,fg+:#F2CDCD,prompt:#DDB6F2,hl+:#F28FAD";
-
};
};
programs = {
command-not-found.enable =
···
userName = name;
userEmail = email;
};
-
ssh = {
-
enable = true;
-
compression = true;
-
hashKnownHosts = true;
-
userKnownHostsFile = "~/.local/share/ssh/known-hosts";
-
# Only needed for darcs hub
-
# extraConfig = ''
-
# Host hub.darcs.net
-
# ControlMaster no
-
# ForwardAgent no
-
# ForwardX11 no
-
# Ciphers +aes256-cbc
-
# MACs +hmac-sha1
-
# '';
-
};
-
zsh = {
-
enable = true;
-
autocd = true;
-
enableVteIntegration = true;
-
enableAutosuggestions = true;
-
enableCompletion = true;
-
plugins = [
-
{
-
name = "per-directory-history";
-
src = pkgs.fetchFromGitHub {
-
owner = "jimhester";
-
repo = "per-directory-history";
-
rev = "d2e291dd6434e340d9be0e15e1f5b94f32771c06";
-
hash = "sha256-VHRgrVCqzILqOes8VXGjSgLek38BFs9eijmp0JHtD5Q=";
-
};
-
}
-
];
-
# xdg compliant
-
dotDir = ".config/zsh";
-
history.path = "${config.home.homeDirectory}/.local/share/zsh/history";
-
initExtra = ''
-
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
-
-
function tomp4 () {
-
${pkgBin "ffmpeg"} -i $1 -c:v libx264 -preset slow -crf 30 -c:a aac -b:a 128k "$1.mp4"
-
}
-
-
function topng () {
-
${pkgBin "ffmpeg"} -i $1 "$1.png"
-
}
-
-
# fix some key stuff
-
bindkey "$terminfo[kRIT5]" forward-word
-
bindkey "$terminfo[kLFT5]" backward-word
-
# makes completions pog
-
zstyle ':completion:*' menu select
-
${pkgBin "any-nix-shell"} zsh --info-right | source /dev/stdin
-
'';
-
loginExtra = ''
-
if [[ "$(tty)" == "/dev/tty1" ]]; then
-
exec Hyprland
-
fi
-
'';
-
};
-
fzf.enable = true;
};
services = {
gpg-agent = let
···
inputs,
...
} @ globalAttrs: let
l = lib // builtins;
nixosConfig = globalAttrs.config;
in {
users.users.patriot = {
isNormalUser = true;
createHome = true;
···
};
environment = {
persistence.${config.system.persistDir}.directories = l.flatten [
+
(l.optional nixosConfig.programs.steam.enable "/home/patriot/.local/share/Steam")
"/home/patriot/.cargo"
"/home/patriot/proj"
"/home/patriot/games"
···
xdg.portal = {
enable = true;
wlr.enable = true;
+
extraPortals = with pkgs; [
+
xdg-desktop-portal-gtk
+
xdg-desktop-portal-wlr
+
];
};
programs = {
# this is needed for impermanence
···
kdeconnect.enable = true;
# gnome stuffs
seahorse.enable = true;
};
# gnome keyring better fr fr
security.pam.services.patriot = {
···
name = personal.name;
email = personal.emails.primary;
in {
+
imports = let
+
modulesToEnable = l.flatten [
+
# desktop stuff
+
["firefox" "hyprland" "wezterm" "font" "rofi" "mako" "discord"]
+
# cli stuff
+
["zoxide" "zsh" "fzf" "starship" "direnv"]
+
# dev stuff
+
["helix" "git" "ssh"]
+
];
+
in
+
l.flatten [
+
../../modules/persist
+
inputs.nixos-persistence.nixosModules.home-manager.impermanence
+
(tlib.prefixStrings "${inputs.self}/users/modules/" modulesToEnable)
+
];
system.persistDir = nixosConfig.system.persistDir;
home.persistence."${config.system.persistDir}${config.home.homeDirectory}" = let
+
mkPaths = pfx: paths: tlib.prefixStrings "${pfx}/" (l.flatten paths);
in {
directories =
l.flatten [
···
allowOther = true;
};
+
fonts.fontconfig.enable = l.mkForce true;
fonts.settings = {
enable = true;
name = "Comic Mono";
size = 13;
+
package = pkgs.comic-mono;
};
home = {
homeDirectory = nixosConfig.users.users.patriot.home;
+
packages = with pkgs; [
+
# Font stuff
+
noto-fonts-cjk
+
font-awesome
+
dejavu_fonts
+
# Programs
+
bitwarden
+
cargo-outdated
+
cargo-release
+
cargo-udeps
+
vulkan-tools
+
krita
+
cachix
+
gnupg
+
imv
+
mpv
+
ffmpeg
+
mupdf
+
xdg_utils
+
rust-analyzer
+
# polymc
+
cloudflared
+
lutris
+
protontricks
+
];
};
programs = {
command-not-found.enable =
···
userName = name;
userEmail = email;
};
+
zsh.loginExtra = ''
+
if [[ "$(tty)" == "/dev/tty1" ]]; then
+
exec Hyprland
+
fi
+
'';
};
services = {
gpg-agent = let