merging this branch so I can start a clean one, gitbutler caused a lot of pain due to it failing to build
This commit is contained in:
commit
2bd027e333
10
.sops.yaml
10
.sops.yaml
|
@ -5,3 +5,13 @@ creation_rules:
|
||||||
key_groups:
|
key_groups:
|
||||||
- age:
|
- age:
|
||||||
- *primary
|
- *primary
|
||||||
|
|
||||||
|
- path_regex: secrets/secrets-yggdrasil.yaml$
|
||||||
|
key_groups:
|
||||||
|
- age:
|
||||||
|
- *primary
|
||||||
|
|
||||||
|
- path_regex: secrets/secrets-loptland.yaml$
|
||||||
|
key_groups:
|
||||||
|
- age:
|
||||||
|
- *primary
|
||||||
|
|
342
flake.lock
342
flake.lock
|
@ -1,5 +1,24 @@
|
||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
|
"ags": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs_3",
|
||||||
|
"systems": "systems_4"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1728326430,
|
||||||
|
"narHash": "sha256-tV1ABHuA1HItMdCTuNdA8fMB+qw7LpjvI945VwMSABI=",
|
||||||
|
"owner": "Aylur",
|
||||||
|
"repo": "ags",
|
||||||
|
"rev": "60180a184cfb32b61a1d871c058b31a3b9b0743d",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Aylur",
|
||||||
|
"repo": "ags",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"aquamarine": {
|
"aquamarine": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"hyprutils": [
|
"hyprutils": [
|
||||||
|
@ -20,11 +39,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1728902391,
|
"lastModified": 1730968822,
|
||||||
"narHash": "sha256-44bnoY0nAvbBQ/lVjmn511yL39Sv7SknV0BDxn34P3Q=",
|
"narHash": "sha256-NocDjINsh6ismkhb0Xr6xPRksmhuB2WGf8ZmXMhxu7Y=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "aquamarine",
|
"repo": "aquamarine",
|
||||||
"rev": "9874e08eec85b5542ca22494e127b0cdce46b786",
|
"rev": "a49bc3583ff223f426cb3526fdaa4bcaa247ec14",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -34,18 +53,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"crane": {
|
"crane": {
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"helix",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1709610799,
|
"lastModified": 1727974419,
|
||||||
"narHash": "sha256-5jfLQx0U9hXbi2skYMGodDJkIgffrjIOgMRjZqms2QE=",
|
"narHash": "sha256-WD0//20h+2/yPGkO88d2nYbb23WMWYvnRyDQ9Dx4UHg=",
|
||||||
"owner": "ipetkov",
|
"owner": "ipetkov",
|
||||||
"repo": "crane",
|
"repo": "crane",
|
||||||
"rev": "81c393c776d5379c030607866afef6406ca1be57",
|
"rev": "37e4f9f0976cb9281cd3f0c70081e5e0ecaee93f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -62,11 +75,11 @@
|
||||||
"rust-analyzer-src": "rust-analyzer-src"
|
"rust-analyzer-src": "rust-analyzer-src"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1728973961,
|
"lastModified": 1730961036,
|
||||||
"narHash": "sha256-Jkqaw9O7WXTf5SHrK7xr9HpVU/mEPVg0Sp6s3AENC90=",
|
"narHash": "sha256-nkho9Dq4WzyF4xr83UdxrlDS5Sm7ZKkPaqGVupLOpOI=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "fenix",
|
"repo": "fenix",
|
||||||
"rev": "d6a9ff4d1e60c347a23bc96ccdb058d37a810541",
|
"rev": "9bf50cb857db8dba15528f3905e271d948cbff06",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -179,11 +192,11 @@
|
||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1709126324,
|
"lastModified": 1726560853,
|
||||||
"narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=",
|
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "d465f4819400de7c8d874d50b982301f28a84605",
|
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -232,7 +245,7 @@
|
||||||
},
|
},
|
||||||
"flake-utils_2": {
|
"flake-utils_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_4"
|
"systems": "systems_5"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1710146030,
|
"lastModified": 1710146030,
|
||||||
|
@ -250,7 +263,7 @@
|
||||||
},
|
},
|
||||||
"flake-utils_3": {
|
"flake-utils_3": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_5"
|
"systems": "systems_6"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1726560853,
|
"lastModified": 1726560853,
|
||||||
|
@ -283,7 +296,7 @@
|
||||||
},
|
},
|
||||||
"flake-utils_5": {
|
"flake-utils_5": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_6"
|
"systems": "systems_7"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1694529238,
|
"lastModified": 1694529238,
|
||||||
|
@ -302,7 +315,7 @@
|
||||||
"gen-luarc": {
|
"gen-luarc": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts",
|
||||||
"nixpkgs": "nixpkgs_3"
|
"nixpkgs": "nixpkgs_5"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718922730,
|
"lastModified": 1718922730,
|
||||||
|
@ -366,11 +379,11 @@
|
||||||
"rust-overlay": "rust-overlay"
|
"rust-overlay": "rust-overlay"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729331287,
|
"lastModified": 1730790589,
|
||||||
"narHash": "sha256-CiQsoNEOGHkSfG/0JJMegHfwXUAI0PwAIVj3i3FmGao=",
|
"narHash": "sha256-xJ6bQ4VmdTB7A+dMbmOMaZ8a6erB6rkZkB+yzqD7gd4=",
|
||||||
"owner": "helix-editor",
|
"owner": "helix-editor",
|
||||||
"repo": "helix",
|
"repo": "helix",
|
||||||
"rev": "be2884d80061493ab1999d73ffa51dfb4f59639d",
|
"rev": "b53dafe326d51b7f64a1c52379e3d4150cd2991e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -386,11 +399,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729321331,
|
"lastModified": 1730837930,
|
||||||
"narHash": "sha256-KVyQq+ez/oB30/WbdNgVD8g/bda34z8NiU187QKQb74=",
|
"narHash": "sha256-0kZL4m+bKBJUBQse0HanewWO0g8hDdCvBhudzxgehqc=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "122f70545b29ccb922e655b08acfe05bfb44ec68",
|
"rev": "2f607e07f3ac7e53541120536708e824acccfaa8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -407,11 +420,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729122023,
|
"lastModified": 1730065367,
|
||||||
"narHash": "sha256-OJNfAveVogmpSIJ7V3eCSWVGvmWOVQfMQTfOpK163HQ=",
|
"narHash": "sha256-XIsgB/tgaenHorewWrfU2gkDsbkMfPA87Z/LXjeKM7Y=",
|
||||||
"owner": "outfoxxed",
|
"owner": "outfoxxed",
|
||||||
"repo": "hy3",
|
"repo": "hy3",
|
||||||
"rev": "29293bf7d509cd18e25a59e15841538fcdef580a",
|
"rev": "4c79361db9c065886c163d1cf873889e1e641e44",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -463,11 +476,11 @@
|
||||||
"xdph": "xdph"
|
"xdph": "xdph"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729353802,
|
"lastModified": 1730969692,
|
||||||
"narHash": "sha256-6OkHeoC3Iva55uVd7MRKS7RLvln8Ma61H9xpcZtU2eY=",
|
"narHash": "sha256-yHY98IWTLDz57TrseUxdh5QnpngcNCjNXTJ2XCeNhtk=",
|
||||||
"ref": "refs/heads/main",
|
"ref": "refs/heads/main",
|
||||||
"rev": "ce3ba798df6bca5be1da4396644a9ef08a2acab4",
|
"rev": "e58e97b0a38b8ccc87a4304c9e4e2b37c9966875",
|
||||||
"revCount": 5358,
|
"revCount": 5425,
|
||||||
"submodules": true,
|
"submodules": true,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/hyprwm/Hyprland"
|
"url": "https://github.com/hyprwm/Hyprland"
|
||||||
|
@ -495,11 +508,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1728383680,
|
"lastModified": 1730755630,
|
||||||
"narHash": "sha256-/SeOrMuPEOjngI+MBlzqxQ/sJxkJFIYoef+wJ/PmX2w=",
|
"narHash": "sha256-IA5U8lHx/lnHwbx25dpPpeLbaALqNNjalYCf19tIoj0=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprland-plugins",
|
"repo": "hyprland-plugins",
|
||||||
"rev": "d05eb1ffba2ebffb5b4e1b407f134a4dcb411a88",
|
"rev": "44859f877739c05d031fcab4a2991ec004fa9bc4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -599,11 +612,11 @@
|
||||||
"systems": "systems_3"
|
"systems": "systems_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729175038,
|
"lastModified": 1730911842,
|
||||||
"narHash": "sha256-4eTSbHMPUgap+63YW2IJreM//HL/meaGR0r5IOonH9g=",
|
"narHash": "sha256-stAVRv13iACAIJ6mheJOwZXWD24YDupyshaUDovVNi4=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprlock",
|
"repo": "hyprlock",
|
||||||
"rev": "b8080862869af28bafdafb512682d414d9de063a",
|
"rev": "4fc133c96fa1ad2968cad44f8e9e9e923cd0381a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -612,6 +625,25 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hyprpanel": {
|
||||||
|
"inputs": {
|
||||||
|
"ags": "ags",
|
||||||
|
"nixpkgs": "nixpkgs_4"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1730958442,
|
||||||
|
"narHash": "sha256-8vmh+ehnDnIenBNibGTPCu8p7cJiFP6bzj0E7pBxgQQ=",
|
||||||
|
"owner": "Jas-SinghFSU",
|
||||||
|
"repo": "HyprPanel",
|
||||||
|
"rev": "dbd932941b46ced4eac5da30994d5af2ca80530c",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Jas-SinghFSU",
|
||||||
|
"repo": "HyprPanel",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"hyprutils": {
|
"hyprutils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -624,11 +656,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1728941256,
|
"lastModified": 1730968903,
|
||||||
"narHash": "sha256-WRypmcZ2Bw94lLmcmxYokVOHPJSZ7T06V49QZ4tkZeQ=",
|
"narHash": "sha256-zFvzLXcSm0Ia4XI1SE4FQ9KE63hlGrRWhLtwMolWuR8=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprutils",
|
"repo": "hyprutils",
|
||||||
"rev": "fd4be8b9ca932f7384e454bcd923c5451ef2aa85",
|
"rev": "3ce0cde8709cdacbfba471f8e828433b58a561e9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -712,7 +744,7 @@
|
||||||
"nix-ld": {
|
"nix-ld": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"unstable"
|
"nixpkgs-unstable"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
|
@ -731,11 +763,11 @@
|
||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729333370,
|
"lastModified": 1730919458,
|
||||||
"narHash": "sha256-NU+tYe3QWzDNpB8RagpqR3hNQXn4BNuBd7ZGosMHLL8=",
|
"narHash": "sha256-yMO0T0QJlmT/x4HEyvrCyigGrdYfIXX3e5gWqB64wLg=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "38279034170b1e2929b2be33bdaedbf14a57bfeb",
|
"rev": "e1cc1f6483393634aee94514186d21a4871e78d7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -753,11 +785,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729300178,
|
"lastModified": 1730453870,
|
||||||
"narHash": "sha256-mkAPu2o5u7F/glAAfBzDji726iL1u2pm2fyN1SPWRQk=",
|
"narHash": "sha256-d+kIgz4BvTXb7emjSFV3zjNydGmLUmuluQjdBb51R9o=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NixOS-WSL",
|
"repo": "NixOS-WSL",
|
||||||
"rev": "42c23a6d5a2a1cbfd3fd137a7ff3d47c6d718033",
|
"rev": "adb6bc4b661a43328752b4575be4968a4990c033",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -768,11 +800,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1728888510,
|
"lastModified": 1730785428,
|
||||||
"narHash": "sha256-nsNdSldaAyu6PE3YUA+YQLqUDJh+gRbBooMMekZJwvI=",
|
"narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "a3c0b3b21515f74fd2665903d4ce6bc4dc81c77c",
|
"rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -782,6 +814,22 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs-latest-factorio": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1730638571,
|
||||||
|
"narHash": "sha256-z9Wy1jmhFrABK3cEyiVmQtUwOuQW1YPwA8+HMnbEpnE=",
|
||||||
|
"owner": "Daholli",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "d941e9aa2d89f377d45516c5edd765fef15ea90a",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Daholli",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "d941e9aa2d89f377d45516c5edd765fef15ea90a",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs-lib": {
|
"nixpkgs-lib": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1717284937,
|
"lastModified": 1717284937,
|
||||||
|
@ -794,13 +842,29 @@
|
||||||
"url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz"
|
"url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs-master": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1731023751,
|
||||||
|
"narHash": "sha256-80FIi/BkulfaTxT76BfDeYyKc/Lo6SIs/4Xm+VlYe4o=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "ed1b9995752699c34e16e5baafaf5e517397bec8",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "master",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1720386169,
|
"lastModified": 1730741070,
|
||||||
"narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=",
|
"narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "194846768975b7ad2c4988bdb82572c00222c0d7",
|
"rev": "d063c1dd113c91ab27959ba540c0d9753409edf3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -812,11 +876,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-stable_2": {
|
"nixpkgs-stable_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1728156290,
|
"lastModified": 1730602179,
|
||||||
"narHash": "sha256-uogSvuAp+1BYtdu6UWuObjHqSbBohpyARXDWqgI12Ss=",
|
"narHash": "sha256-efgLzQAWSzJuCLiCaQUCDu4NudNlHdg2NzGLX5GYaEY=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "17ae88b569bb15590549ff478bab6494dde4a907",
|
"rev": "3c2f1c4ca372622cb2f9de8016c9a0b1cbd0f37c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -826,6 +890,22 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs-unstable": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1730785428,
|
||||||
|
"narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1728492678,
|
"lastModified": 1728492678,
|
||||||
|
@ -843,6 +923,38 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_3": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1725634671,
|
||||||
|
"narHash": "sha256-v3rIhsJBOMLR8e/RNWxr828tB+WywYIoajrZKFM+0Gg=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "574d1eac1c200690e27b8eb4e24887f8df7ac27c",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_4": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1729880355,
|
||||||
|
"narHash": "sha256-RP+OQ6koQQLX5nw0NmcDrzvGL8HDLnyXt/jHhL1jwjM=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "18536bf04cd71abd345f9579158841376fdd0c5a",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718714799,
|
"lastModified": 1718714799,
|
||||||
"narHash": "sha256-FUZpz9rg3gL8NVPKbqU8ei1VkPLsTIfAJ2fdAf5qjak=",
|
"narHash": "sha256-FUZpz9rg3gL8NVPKbqU8ei1VkPLsTIfAJ2fdAf5qjak=",
|
||||||
|
@ -858,13 +970,13 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_6": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729256560,
|
"lastModified": 1730785428,
|
||||||
"narHash": "sha256-/uilDXvCIEs3C9l73JTACm4quuHUsIHcns1c+cHUJwA=",
|
"narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0",
|
"rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -874,13 +986,13 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
"nixpkgs_7": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1728093190,
|
"lastModified": 1730272153,
|
||||||
"narHash": "sha256-CAZF2NRuHmqTtRTNAruWpHA43Gg2UvuCNEIzabP0l6M=",
|
"narHash": "sha256-B5WRZYsRlJgwVHIV6DvidFN7VX7Fg9uuwkRW9Ha8z+w=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "e2f08f4d8b3ecb5cf5c9fd9cb2d53bb3c71807da",
|
"rev": "2d2a9ddbe3f2c00747398f3dc9b05f7f2ebb0f53",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -890,13 +1002,13 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_6": {
|
"nixpkgs_8": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729256560,
|
"lastModified": 1730200266,
|
||||||
"narHash": "sha256-/uilDXvCIEs3C9l73JTACm4quuHUsIHcns1c+cHUJwA=",
|
"narHash": "sha256-l253w0XMT8nWHGXuXqyiIC/bMvh1VRszGXgdpQlfhvU=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0",
|
"rev": "807e9154dcb16384b1b765ebe9cd2bba2ac287fd",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -917,11 +1029,11 @@
|
||||||
"nixpkgs-stable": "nixpkgs-stable"
|
"nixpkgs-stable": "nixpkgs-stable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1728778939,
|
"lastModified": 1730814269,
|
||||||
"narHash": "sha256-WybK5E3hpGxtCYtBwpRj1E9JoiVxe+8kX83snTNaFHE=",
|
"narHash": "sha256-fWPHyhYE6xvMI1eGY3pwBTq85wcy1YXqdzTZF+06nOg=",
|
||||||
"owner": "cachix",
|
"owner": "cachix",
|
||||||
"repo": "git-hooks.nix",
|
"repo": "git-hooks.nix",
|
||||||
"rev": "ff68f91754be6f3427e4986d7949e6273659be1d",
|
"rev": "d70155fdc00df4628446352fc58adc640cd705c2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -940,26 +1052,29 @@
|
||||||
"hyprland": "hyprland",
|
"hyprland": "hyprland",
|
||||||
"hyprland-plugins": "hyprland-plugins",
|
"hyprland-plugins": "hyprland-plugins",
|
||||||
"hyprlock": "hyprlock",
|
"hyprlock": "hyprlock",
|
||||||
|
"hyprpanel": "hyprpanel",
|
||||||
"kickstartnvim": "kickstartnvim",
|
"kickstartnvim": "kickstartnvim",
|
||||||
"nix-ld": "nix-ld",
|
"nix-ld": "nix-ld",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixos-wsl": "nixos-wsl",
|
"nixos-wsl": "nixos-wsl",
|
||||||
"nixpkgs": "nixpkgs_4",
|
"nixpkgs": "nixpkgs_6",
|
||||||
|
"nixpkgs-latest-factorio": "nixpkgs-latest-factorio",
|
||||||
|
"nixpkgs-master": "nixpkgs-master",
|
||||||
|
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||||
"snowfall-flake": "snowfall-flake",
|
"snowfall-flake": "snowfall-flake",
|
||||||
"snowfall-lib": "snowfall-lib_2",
|
"snowfall-lib": "snowfall-lib_2",
|
||||||
"sops-nix": "sops-nix",
|
"sops-nix": "sops-nix",
|
||||||
"unstable": "unstable",
|
|
||||||
"zen-browser": "zen-browser"
|
"zen-browser": "zen-browser"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"rust-analyzer-src": {
|
"rust-analyzer-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1728921748,
|
"lastModified": 1730749868,
|
||||||
"narHash": "sha256-BOCZ5osPOMh2BPHnkK4sVdTGj7sn47rBn1nxjrzWe5U=",
|
"narHash": "sha256-b8UMpLh61z6T4J1NObustAuFGoJiAKBTaPTrEf3Amts=",
|
||||||
"owner": "rust-lang",
|
"owner": "rust-lang",
|
||||||
"repo": "rust-analyzer",
|
"repo": "rust-analyzer",
|
||||||
"rev": "0319586ef2a2636f6d6b891690b7ebebf4337c85",
|
"rev": "b51f9bc736dc0472481a47d7c05de2901323e543",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -971,21 +1086,17 @@
|
||||||
},
|
},
|
||||||
"rust-overlay": {
|
"rust-overlay": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": [
|
|
||||||
"helix",
|
|
||||||
"flake-utils"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"helix",
|
"helix",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1709604635,
|
"lastModified": 1728268235,
|
||||||
"narHash": "sha256-le4fwmWmjGRYWwkho0Gr7mnnZndOOe4XGbLw68OvF40=",
|
"narHash": "sha256-lJMFnMO4maJuNO6PQ5fZesrTmglze3UFTTBuKGwR1Nw=",
|
||||||
"owner": "oxalica",
|
"owner": "oxalica",
|
||||||
"repo": "rust-overlay",
|
"repo": "rust-overlay",
|
||||||
"rev": "e86c0fb5d3a22a5f30d7f64ecad88643fe26449d",
|
"rev": "25685cc2c7054efc31351c172ae77b21814f2d42",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -998,7 +1109,7 @@
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_3",
|
"flake-compat": "flake-compat_3",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"unstable"
|
"nixpkgs-unstable"
|
||||||
],
|
],
|
||||||
"snowfall-lib": "snowfall-lib"
|
"snowfall-lib": "snowfall-lib"
|
||||||
},
|
},
|
||||||
|
@ -1049,11 +1160,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719005984,
|
"lastModified": 1730136121,
|
||||||
"narHash": "sha256-mpFl3Jv4fKnn+5znYXG6SsBjfXHJdRG5FEqNSPx0GLA=",
|
"narHash": "sha256-tfVayj13Zw+zzOKrmJhnvBod7Hdb9ixBR6/4GUlyMA0=",
|
||||||
"owner": "snowfallorg",
|
"owner": "snowfallorg",
|
||||||
"repo": "lib",
|
"repo": "lib",
|
||||||
"rev": "c6238c83de101729c5de3a29586ba166a9a65622",
|
"rev": "dd348182c1a010993e68004eada86cf0341fe2c4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -1064,15 +1175,15 @@
|
||||||
},
|
},
|
||||||
"sops-nix": {
|
"sops-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_5",
|
"nixpkgs": "nixpkgs_7",
|
||||||
"nixpkgs-stable": "nixpkgs-stable_2"
|
"nixpkgs-stable": "nixpkgs-stable_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1728345710,
|
"lastModified": 1731008979,
|
||||||
"narHash": "sha256-lpunY1+bf90ts+sA2/FgxVNIegPDKCpEoWwOPu4ITTQ=",
|
"narHash": "sha256-yN1NxvmqV8UltLkqYBWTeZNgpD/eyh/7LM58caHiEfE=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "06535d0e3d0201e6a8080dd32dbfde339b94f01b",
|
"rev": "fe63071416471abdab06caa234122932a7c4b980",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -1128,16 +1239,16 @@
|
||||||
},
|
},
|
||||||
"systems_4": {
|
"systems_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1681028828,
|
"lastModified": 1689347949,
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||||
"owner": "nix-systems",
|
"owner": "nix-systems",
|
||||||
"repo": "default",
|
"repo": "default-linux",
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-systems",
|
"owner": "nix-systems",
|
||||||
"repo": "default",
|
"repo": "default-linux",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -1171,19 +1282,18 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"unstable": {
|
"systems_7": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729256560,
|
"lastModified": 1681028828,
|
||||||
"narHash": "sha256-/uilDXvCIEs3C9l73JTACm4quuHUsIHcns1c+cHUJwA=",
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
"owner": "nixos",
|
"owner": "nix-systems",
|
||||||
"repo": "nixpkgs",
|
"repo": "default",
|
||||||
"rev": "4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0",
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "nix-systems",
|
||||||
"ref": "nixos-unstable",
|
"repo": "default",
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -1215,11 +1325,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1728166987,
|
"lastModified": 1730743262,
|
||||||
"narHash": "sha256-w6dVTguAn9zJ+7aPOhBQgDz8bn6YZ7b56cY8Kg5HJRI=",
|
"narHash": "sha256-iTLqj3lU8kFehPm5tXpctzkD274t/k1nwSSq3qCWXeg=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "xdg-desktop-portal-hyprland",
|
"repo": "xdg-desktop-portal-hyprland",
|
||||||
"rev": "fb9c8d665af0588bb087f97d0f673ddf0d501787",
|
"rev": "09b23cef06fe248e61cec8862c04b9bcb62f4b6d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -1230,14 +1340,14 @@
|
||||||
},
|
},
|
||||||
"zen-browser": {
|
"zen-browser": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_6"
|
"nixpkgs": "nixpkgs_8"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729334402,
|
"lastModified": 1730444716,
|
||||||
"narHash": "sha256-elpcQZC6VoZC4jKk09upN2cGPW4j+OjDpD2HjvYe9Z4=",
|
"narHash": "sha256-WtqSpYQyG5ad+GK7B0ViDSl0NolHp7yM24TacUslBXE=",
|
||||||
"owner": "ch4og",
|
"owner": "ch4og",
|
||||||
"repo": "zen-browser-flake",
|
"repo": "zen-browser-flake",
|
||||||
"rev": "d5adb0791f5cf974b2b480f5d62075e9b3e7dd80",
|
"rev": "d3c639ee7bff20f799f443e18fffa6331a71cd3a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
13
flake.nix
13
flake.nix
|
@ -4,7 +4,10 @@
|
||||||
inputs = {
|
inputs = {
|
||||||
# nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
|
# nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
|
nixpkgs-master.url = "github:nixos/nixpkgs/master";
|
||||||
|
nixpkgs-latest-factorio.url = "github:Daholli/nixpkgs/d941e9aa2d89f377d45516c5edd765fef15ea90a";
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager/master";
|
url = "github:nix-community/home-manager/master";
|
||||||
|
@ -22,7 +25,7 @@
|
||||||
# Run unpatched dynamically compiled binaries
|
# Run unpatched dynamically compiled binaries
|
||||||
nix-ld = {
|
nix-ld = {
|
||||||
url = "github:Mic92/nix-ld";
|
url = "github:Mic92/nix-ld";
|
||||||
inputs.nixpkgs.follows = "unstable";
|
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
||||||
};
|
};
|
||||||
|
|
||||||
###
|
###
|
||||||
|
@ -39,6 +42,8 @@
|
||||||
inputs.hyprland.follows = "hyprland";
|
inputs.hyprland.follows = "hyprland";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
hyprpanel.url = "github:Jas-SinghFSU/HyprPanel";
|
||||||
|
|
||||||
###
|
###
|
||||||
# Snowfall dependencies
|
# Snowfall dependencies
|
||||||
snowfall-lib = {
|
snowfall-lib = {
|
||||||
|
@ -48,9 +53,10 @@
|
||||||
|
|
||||||
snowfall-flake = {
|
snowfall-flake = {
|
||||||
url = "github:snowfallorg/flake";
|
url = "github:snowfallorg/flake";
|
||||||
inputs.nixpkgs.follows = "unstable";
|
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# still not sure if I like helix or nvim more, for now helix does mostly everything I need it to
|
||||||
kickstartnvim = {
|
kickstartnvim = {
|
||||||
url = "github:Daholli/kickstart-nix-nvim";
|
url = "github:Daholli/kickstart-nix-nvim";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
@ -109,6 +115,7 @@
|
||||||
overlays = with inputs; [
|
overlays = with inputs; [
|
||||||
snowfall-flake.overlays.default
|
snowfall-flake.overlays.default
|
||||||
kickstartnvim.overlays.default
|
kickstartnvim.overlays.default
|
||||||
|
hyprpanel.overlay
|
||||||
];
|
];
|
||||||
|
|
||||||
systems.modules.nixos = with inputs; [
|
systems.modules.nixos = with inputs; [
|
||||||
|
|
22
homes/x86_64-linux/cholli@loptland/default.nix
Normal file
22
homes/x86_64-linux/cholli@loptland/default.nix
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
osConfig ? { },
|
||||||
|
format ? "unknown",
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib.wyrdgard;
|
||||||
|
{
|
||||||
|
wyrdgard = {
|
||||||
|
apps = {
|
||||||
|
kitty = enabled;
|
||||||
|
};
|
||||||
|
|
||||||
|
tools = {
|
||||||
|
direnv = enabled;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home.stateVersion = "24.11";
|
||||||
|
}
|
|
@ -18,7 +18,7 @@ let
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.${namespace}.apps.cli-apps.helix = {
|
options.${namespace}.apps.cli-apps.helix = {
|
||||||
enable = mkEnableOption "Whether to enable nixvim or not";
|
enable = mkEnableOption "Whether to enable helix or not";
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
@ -30,8 +30,7 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
${namespace} = {
|
${namespace} = {
|
||||||
home = {
|
home.extraOptions = {
|
||||||
extraOptions = {
|
|
||||||
programs.helix = {
|
programs.helix = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = helix-pkg;
|
package = helix-pkg;
|
||||||
|
@ -128,9 +127,6 @@ in
|
||||||
];
|
];
|
||||||
|
|
||||||
language-server = {
|
language-server = {
|
||||||
nil = {
|
|
||||||
command = "${pkgs.nil}/bin/nil";
|
|
||||||
};
|
|
||||||
nixd = {
|
nixd = {
|
||||||
command = "${pkgs.nixd}/bin/nixd";
|
command = "${pkgs.nixd}/bin/nixd";
|
||||||
};
|
};
|
||||||
|
@ -152,7 +148,6 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
nix.extra-substituters.${cachix-url} = {
|
nix.extra-substituters.${cachix-url} = {
|
||||||
key = cachix-key;
|
key = cachix-key;
|
||||||
|
|
45
modules/nixos/desktop/addons/hypridle/default.nix
Normal file
45
modules/nixos/desktop/addons/hypridle/default.nix
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
namespace,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkEnableOption;
|
||||||
|
|
||||||
|
cfg = config.${namespace}.desktop.addons.hypridle;
|
||||||
|
|
||||||
|
username = config.${namespace}.user.name;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.${namespace}.desktop.addons.hypridle = {
|
||||||
|
enable = mkEnableOption "Enable HyprIdle";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
snowfallorg.users.${username}.home.config = {
|
||||||
|
services.hypridle = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
general = {
|
||||||
|
after_sleep_cmd = "hyprctl dispatch dpms on";
|
||||||
|
ignore_dbus_inhibit = false;
|
||||||
|
lock_cmd = "hyprlock";
|
||||||
|
};
|
||||||
|
|
||||||
|
listener = [
|
||||||
|
{
|
||||||
|
timeout = 900;
|
||||||
|
on-timeout = "loginctl lock-session";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
timeout = 1200;
|
||||||
|
on-timeout = "hyprctl dispatch dpms off";
|
||||||
|
on-resume = "hyprctl dispatch dpms on";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
614
modules/nixos/desktop/addons/hyprpanel/default.nix
Normal file
614
modules/nixos/desktop/addons/hyprpanel/default.nix
Normal file
|
@ -0,0 +1,614 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
namespace,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
inherit (lib)
|
||||||
|
mkIf
|
||||||
|
mkEnableOption
|
||||||
|
mkMerge
|
||||||
|
mkOption
|
||||||
|
literalExpression
|
||||||
|
;
|
||||||
|
|
||||||
|
cfg = config.${namespace}.desktop.addons.hyprpanel;
|
||||||
|
username = config.${namespace}.user.name;
|
||||||
|
|
||||||
|
settingsFormat = pkgs.formats.json { };
|
||||||
|
|
||||||
|
iconColor = "#242438";
|
||||||
|
|
||||||
|
light-cyan = "#73daca";
|
||||||
|
lightBlue = "#414868";
|
||||||
|
medium-blue = "#9aa5ce";
|
||||||
|
cyan-blue = "#7dcfff";
|
||||||
|
navy-blue = "#24283b";
|
||||||
|
dark-blue = "#1a1b26";
|
||||||
|
dark-blue-gray = "565f89";
|
||||||
|
dark-blue-yankees = "#272a3d";
|
||||||
|
blue-magenta = "#181825";
|
||||||
|
|
||||||
|
lightPurple = "#bb9af7";
|
||||||
|
|
||||||
|
lightRed = "#f7768e";
|
||||||
|
red = "#c0caf5";
|
||||||
|
|
||||||
|
lightGreen = "#9ece6a";
|
||||||
|
yellow = "#e0af68";
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
tear = true;
|
||||||
|
scalingPriority = "hyprland";
|
||||||
|
font.name = "CodeNewRoman Nerd Font Mono";
|
||||||
|
|
||||||
|
bar = {
|
||||||
|
customModules = {
|
||||||
|
updates.pollingInterval = 1440000;
|
||||||
|
ram = {
|
||||||
|
labelType = "used/total";
|
||||||
|
icon = " ";
|
||||||
|
};
|
||||||
|
cpu = {
|
||||||
|
label = true;
|
||||||
|
leftClick = "kitty --hold btop";
|
||||||
|
icon = " ";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
layouts = {
|
||||||
|
"0" = {
|
||||||
|
left = [
|
||||||
|
"workspaces"
|
||||||
|
];
|
||||||
|
middle = [
|
||||||
|
"windowtitle"
|
||||||
|
];
|
||||||
|
right = [
|
||||||
|
"clock"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"1" = {
|
||||||
|
left = [
|
||||||
|
"dashboard"
|
||||||
|
"workspaces"
|
||||||
|
];
|
||||||
|
middle = [
|
||||||
|
"windowtitle"
|
||||||
|
];
|
||||||
|
right = [
|
||||||
|
"volume"
|
||||||
|
"bluetooth"
|
||||||
|
"battery"
|
||||||
|
"systray"
|
||||||
|
"cpu"
|
||||||
|
"ram"
|
||||||
|
"clock"
|
||||||
|
"notifications"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
workspaces = {
|
||||||
|
showAllActive = true;
|
||||||
|
show_icons = false;
|
||||||
|
numbered_active_indicator = "underline";
|
||||||
|
show_numbered = true;
|
||||||
|
showWsIcons = false;
|
||||||
|
showApplicationIcons = false;
|
||||||
|
hideUnoccupied = true;
|
||||||
|
};
|
||||||
|
launcher = {
|
||||||
|
icon = "";
|
||||||
|
rightClick = "hyprpanel -t settings-dialog";
|
||||||
|
};
|
||||||
|
scrollSpeed = 0;
|
||||||
|
windowtitle = {
|
||||||
|
class_name = false;
|
||||||
|
custom_title = false;
|
||||||
|
icon = false;
|
||||||
|
label = true;
|
||||||
|
title_map = [
|
||||||
|
|
||||||
|
];
|
||||||
|
truncation = true;
|
||||||
|
};
|
||||||
|
network = {
|
||||||
|
label = false;
|
||||||
|
truncation = false;
|
||||||
|
};
|
||||||
|
clock.format = "%a %b %d %H:%M:%S";
|
||||||
|
notifications.show_total = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
menus = {
|
||||||
|
clock.time.military = true;
|
||||||
|
dashboard = {
|
||||||
|
powermenu.avatar.image = "/home/cholli/Pictures/profile.png";
|
||||||
|
|
||||||
|
shortcuts.enabled = false;
|
||||||
|
directories.left = {
|
||||||
|
directory1.command = "kitty $HOME/Downloads";
|
||||||
|
directory3.command = "kitty $HOME/projects";
|
||||||
|
};
|
||||||
|
|
||||||
|
stats = {
|
||||||
|
enable_gpu = true;
|
||||||
|
enabled = false;
|
||||||
|
};
|
||||||
|
controls.enabled = false;
|
||||||
|
};
|
||||||
|
bluetooth = {
|
||||||
|
showBattery = true;
|
||||||
|
batteryState = "always";
|
||||||
|
};
|
||||||
|
transition = "crossfade";
|
||||||
|
};
|
||||||
|
|
||||||
|
theme = {
|
||||||
|
bar = {
|
||||||
|
floating = true;
|
||||||
|
outer_spacing = "0.2em";
|
||||||
|
buttons = {
|
||||||
|
enableBorders = true;
|
||||||
|
|
||||||
|
workspaces = {
|
||||||
|
enableBorder = false;
|
||||||
|
fontSize = "1.2em";
|
||||||
|
smartHighlight = false;
|
||||||
|
active = "#f7768e";
|
||||||
|
occupied = "#f7768e";
|
||||||
|
available = "#7dcfff";
|
||||||
|
hover = "#f7768e";
|
||||||
|
background = "#272a3d";
|
||||||
|
numbered_active_highlighted_text_color = "#181825";
|
||||||
|
numbered_active_underline_color = "#c678dd";
|
||||||
|
border = "#f7768e";
|
||||||
|
};
|
||||||
|
modules = {
|
||||||
|
power = {
|
||||||
|
icon = "#181825";
|
||||||
|
icon_background = "#f7768e";
|
||||||
|
background = "#272a3d";
|
||||||
|
border = "#f7768e";
|
||||||
|
};
|
||||||
|
ram = {
|
||||||
|
enableBorder = false;
|
||||||
|
spacing = "0.45em";
|
||||||
|
icon = "#181825";
|
||||||
|
icon_background = "#e0af68";
|
||||||
|
text = "#e0af68";
|
||||||
|
background = "#272a3d";
|
||||||
|
border = "#e0af68";
|
||||||
|
};
|
||||||
|
cpu = {
|
||||||
|
enableBorder = false;
|
||||||
|
background = "#272a3d";
|
||||||
|
icon = "#181825";
|
||||||
|
icon_background = "#f7768e";
|
||||||
|
text = "#f7768e";
|
||||||
|
border = "#f7768e";
|
||||||
|
};
|
||||||
|
submap = {
|
||||||
|
background = "#272a3d";
|
||||||
|
text = "#73daca";
|
||||||
|
border = "#73daca";
|
||||||
|
icon = "#181825";
|
||||||
|
icon_background = "#73daca";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
style = "split";
|
||||||
|
icon = "#242438";
|
||||||
|
icon_background = "#bb9af7";
|
||||||
|
text = "#bb9af7";
|
||||||
|
hover = "#414868";
|
||||||
|
background = "#272a3d";
|
||||||
|
dashboard = {
|
||||||
|
enableBorder = false;
|
||||||
|
icon = "#272a3d";
|
||||||
|
background = "#e0af68";
|
||||||
|
border = "#e0af68";
|
||||||
|
};
|
||||||
|
volume = {
|
||||||
|
icon = "#272a3d";
|
||||||
|
text = "#f7768e";
|
||||||
|
background = "#272a3d";
|
||||||
|
icon_background = "#f7768e";
|
||||||
|
border = "#f7768e";
|
||||||
|
};
|
||||||
|
notifications = {
|
||||||
|
total = "#bb9af7";
|
||||||
|
icon = "#272a3d";
|
||||||
|
background = "#272a3d";
|
||||||
|
icon_background = "#bb9af7";
|
||||||
|
border = "#bb9af7";
|
||||||
|
};
|
||||||
|
clock = {
|
||||||
|
icon = "#272a3d";
|
||||||
|
text = "#f7768e";
|
||||||
|
background = "#272a3d";
|
||||||
|
icon_background = "#f7768e";
|
||||||
|
border = "#f7768e";
|
||||||
|
};
|
||||||
|
systray = {
|
||||||
|
background = "#272a3d";
|
||||||
|
border = "#414868";
|
||||||
|
customIcon = "#c0caf5";
|
||||||
|
};
|
||||||
|
bluetooth = {
|
||||||
|
icon = "#272a3d";
|
||||||
|
text = "#7dcfff";
|
||||||
|
background = "#272a3d";
|
||||||
|
icon_background = "#7dcfff";
|
||||||
|
border = "#7dcfff";
|
||||||
|
};
|
||||||
|
windowtitle = {
|
||||||
|
icon = "#272a3d";
|
||||||
|
text = "#f7768e";
|
||||||
|
background = "#272a3d";
|
||||||
|
icon_background = "#f7768e";
|
||||||
|
border = "#f7768e";
|
||||||
|
enableBorder = false;
|
||||||
|
};
|
||||||
|
radius = "0.3em";
|
||||||
|
borderSize = "0.0em";
|
||||||
|
padding_x = "0.7rem";
|
||||||
|
padding_y = "0.2rem";
|
||||||
|
};
|
||||||
|
|
||||||
|
menus = {
|
||||||
|
monochrome = false;
|
||||||
|
opacity = 95;
|
||||||
|
menu = {
|
||||||
|
dashboard = {
|
||||||
|
powermenu = {
|
||||||
|
shutdown = "#f7768e";
|
||||||
|
confirmation = {
|
||||||
|
deny = "#f7768e";
|
||||||
|
confirm = "#9ece6a";
|
||||||
|
button_text = "#1a1b26";
|
||||||
|
body = "#c0caf5";
|
||||||
|
label = "#bb9af7";
|
||||||
|
border = "#414868";
|
||||||
|
background = "#1a1b26";
|
||||||
|
card = "#24283b";
|
||||||
|
};
|
||||||
|
sleep = "#7dcfff";
|
||||||
|
logout = "#9ece6a";
|
||||||
|
restart = "#e0af68";
|
||||||
|
};
|
||||||
|
monitors = {
|
||||||
|
ram = {
|
||||||
|
label = "#e0af68";
|
||||||
|
bar = "#e0af68";
|
||||||
|
icon = "#e0af68";
|
||||||
|
};
|
||||||
|
cpu = {
|
||||||
|
label = "#f7768e";
|
||||||
|
bar = "#f7768e";
|
||||||
|
icon = "#f7768e";
|
||||||
|
};
|
||||||
|
bar_background = "#414868";
|
||||||
|
};
|
||||||
|
directories = {
|
||||||
|
right = {
|
||||||
|
bottom.color = "#bb9af7";
|
||||||
|
middle.color = "#bb9af7";
|
||||||
|
top.color = "#73daca";
|
||||||
|
};
|
||||||
|
left = {
|
||||||
|
bottom.color = "#f7768e";
|
||||||
|
middle.color = "#e0af68";
|
||||||
|
top.color = "#f7768e";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
controls = {
|
||||||
|
input = {
|
||||||
|
text = "#1a1b26";
|
||||||
|
background = "#f7768e";
|
||||||
|
};
|
||||||
|
volume = {
|
||||||
|
text = "#1a1b26";
|
||||||
|
background = "#f7768e";
|
||||||
|
};
|
||||||
|
notifications = {
|
||||||
|
text = "#1a1b26";
|
||||||
|
background = "#e0af68";
|
||||||
|
};
|
||||||
|
bluetooth = {
|
||||||
|
text = "#1a1b26";
|
||||||
|
background = "#7dcfff";
|
||||||
|
};
|
||||||
|
disabled = "#414868";
|
||||||
|
};
|
||||||
|
profile.name = "#f7768e";
|
||||||
|
border.color = "#414868";
|
||||||
|
background.color = "#1a1b26";
|
||||||
|
card.color = "#24283b";
|
||||||
|
};
|
||||||
|
notifications = {
|
||||||
|
switch = {
|
||||||
|
puck = "#565f89";
|
||||||
|
disabled = "#565f89";
|
||||||
|
enabled = "#bb9af7";
|
||||||
|
};
|
||||||
|
clear = "#f7768e";
|
||||||
|
switch_divider = "#414868";
|
||||||
|
border = "#414868";
|
||||||
|
card = "#24283b";
|
||||||
|
background = "#1a1b26";
|
||||||
|
no_notifications_label = "#414868";
|
||||||
|
label = "#bb9af7";
|
||||||
|
scrollbar.color = "#bb9af7";
|
||||||
|
pager = {
|
||||||
|
button = "#bb9af7";
|
||||||
|
label = "#565f89";
|
||||||
|
background = "#1a1b26";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
clock = {
|
||||||
|
text = "#c0caf5";
|
||||||
|
border.color = "#414868";
|
||||||
|
background.color = "#1a1b26";
|
||||||
|
card.color = "#24283b";
|
||||||
|
|
||||||
|
calendar = {
|
||||||
|
contextdays = "#414868";
|
||||||
|
days = "#c0caf5";
|
||||||
|
currentday = "#f7768e";
|
||||||
|
paginator = "#f7768e";
|
||||||
|
weekdays = "#f7768e";
|
||||||
|
yearmonth = "#73daca";
|
||||||
|
};
|
||||||
|
time = {
|
||||||
|
timeperiod = "#73daca";
|
||||||
|
time = "#f7768e";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
systray = {
|
||||||
|
dropdownmenu.divider = "#24283b";
|
||||||
|
dropdownmenu.text = "#c0caf5";
|
||||||
|
dropdownmenu.background = "#1a1b26";
|
||||||
|
};
|
||||||
|
bluetooth = {
|
||||||
|
iconbutton = {
|
||||||
|
active = "#7dcfff";
|
||||||
|
passive = "#c0caf5";
|
||||||
|
};
|
||||||
|
icons = {
|
||||||
|
active = "#7dcfff";
|
||||||
|
passive = "#565f89";
|
||||||
|
};
|
||||||
|
listitems = {
|
||||||
|
active = "#7dcfff";
|
||||||
|
passive = "#c0caf5";
|
||||||
|
};
|
||||||
|
switch = {
|
||||||
|
puck = "#565f89";
|
||||||
|
disabled = "#565f89";
|
||||||
|
enabled = "#7dcfff";
|
||||||
|
};
|
||||||
|
switch_divider = "#414868";
|
||||||
|
status = "#565f89";
|
||||||
|
text = "#c0caf5";
|
||||||
|
label.color = "#7dcfff";
|
||||||
|
border.color = "#414868";
|
||||||
|
background.color = "#1a1b26";
|
||||||
|
card.color = "#24283b";
|
||||||
|
};
|
||||||
|
volume = {
|
||||||
|
text = "#c0caf5";
|
||||||
|
card.color = "#24283b";
|
||||||
|
label.color = "#f7768e";
|
||||||
|
input_slider = {
|
||||||
|
puck = "#414868";
|
||||||
|
backgroundhover = "#414868";
|
||||||
|
background = "#565f89";
|
||||||
|
primary = "#f7768e";
|
||||||
|
};
|
||||||
|
audio_slider = {
|
||||||
|
puck = "#414868";
|
||||||
|
backgroundhover = "#414868";
|
||||||
|
background = "#565f89";
|
||||||
|
primary = "#f7768e";
|
||||||
|
};
|
||||||
|
icons = {
|
||||||
|
active = "#f7768e";
|
||||||
|
passive = "#565f89";
|
||||||
|
};
|
||||||
|
iconbutton = {
|
||||||
|
active = "#f7768e";
|
||||||
|
passive = "#c0caf5";
|
||||||
|
};
|
||||||
|
listitems = {
|
||||||
|
active = "#f7768e";
|
||||||
|
passive = "#c0caf5";
|
||||||
|
};
|
||||||
|
border.color = "#414868";
|
||||||
|
background.color = "#1a1b26";
|
||||||
|
};
|
||||||
|
media = {
|
||||||
|
card.color = "#24283b";
|
||||||
|
slider = {
|
||||||
|
puck = "#565f89";
|
||||||
|
backgroundhover = "#414868";
|
||||||
|
background = "#565f89";
|
||||||
|
primary = "#f7768e";
|
||||||
|
};
|
||||||
|
buttons = {
|
||||||
|
text = "#1a1b26";
|
||||||
|
background = "#bb9af7";
|
||||||
|
enabled = "#73daca";
|
||||||
|
inactive = "#414868";
|
||||||
|
};
|
||||||
|
border.color = "#414868";
|
||||||
|
background.color = "#1a1b26";
|
||||||
|
album = "#f7768e";
|
||||||
|
artist = "#73daca";
|
||||||
|
song = "#bb9af7";
|
||||||
|
};
|
||||||
|
power = {
|
||||||
|
border.color = "#414868";
|
||||||
|
buttons = {
|
||||||
|
sleep = {
|
||||||
|
icon_background = "#7dcfff";
|
||||||
|
text = "#7dcfff";
|
||||||
|
background = "#24283b";
|
||||||
|
icon = "#1a1b26";
|
||||||
|
};
|
||||||
|
restart = {
|
||||||
|
text = "#e0af68";
|
||||||
|
icon_background = "#e0af68";
|
||||||
|
icon = "#1a1b26";
|
||||||
|
background = "#24283b";
|
||||||
|
};
|
||||||
|
shutdown = {
|
||||||
|
icon = "#1a1b26";
|
||||||
|
background = "#24283b";
|
||||||
|
icon_background = "#f7768e";
|
||||||
|
text = "#f7768e";
|
||||||
|
};
|
||||||
|
logout = {
|
||||||
|
icon = "#1a1b26";
|
||||||
|
background = "#24283b";
|
||||||
|
text = "#9ece6a";
|
||||||
|
icon_background = "#9ece6a";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
background.color = "#1a1b26";
|
||||||
|
scaling = 90;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
background = "#1a1b26";
|
||||||
|
text = "#c0caf5";
|
||||||
|
border.color = "#414868";
|
||||||
|
popover = {
|
||||||
|
text = "#bb9af7";
|
||||||
|
background = "#1a1b26";
|
||||||
|
border = "#1a1b26";
|
||||||
|
};
|
||||||
|
tooltip = {
|
||||||
|
text = "#c0caf5";
|
||||||
|
background = "#1a1b26";
|
||||||
|
};
|
||||||
|
dropdownmenu = {
|
||||||
|
divider = "#24283b";
|
||||||
|
text = "#c0caf5";
|
||||||
|
background = "#1a1b26";
|
||||||
|
};
|
||||||
|
slider = {
|
||||||
|
puck = "#565f89";
|
||||||
|
backgroundhover = "#414868";
|
||||||
|
background = "#565f89";
|
||||||
|
primary = "#bb9af7";
|
||||||
|
};
|
||||||
|
progressbar = {
|
||||||
|
background = "#414868";
|
||||||
|
foreground = "#bb9af7";
|
||||||
|
};
|
||||||
|
iconbuttons = {
|
||||||
|
active = "#bb9af7";
|
||||||
|
passive = "#c0caf5";
|
||||||
|
};
|
||||||
|
buttons = {
|
||||||
|
text = "#1a1b26";
|
||||||
|
disabled = "#565f89";
|
||||||
|
active = "#f7768e";
|
||||||
|
default = "#bb9af7";
|
||||||
|
};
|
||||||
|
switch = {
|
||||||
|
puck = "#565f89";
|
||||||
|
disabled = "#565f89";
|
||||||
|
enabled = "#bb9af7";
|
||||||
|
};
|
||||||
|
icons = {
|
||||||
|
active = "#bb9af7";
|
||||||
|
passive = "#414868";
|
||||||
|
};
|
||||||
|
listitems = {
|
||||||
|
active = "#bb9af7";
|
||||||
|
passive = "#c0caf5";
|
||||||
|
};
|
||||||
|
label = "#bb9af7";
|
||||||
|
feinttext = "#414868";
|
||||||
|
dimtext = "#414868";
|
||||||
|
cards = "#24283b";
|
||||||
|
check_radio_button.background = "#3b4261";
|
||||||
|
check_radio_button.active = "#bb9af7";
|
||||||
|
};
|
||||||
|
transparent = true;
|
||||||
|
background = "#1a1b26";
|
||||||
|
margin_sides = "0.0em";
|
||||||
|
location = "top";
|
||||||
|
};
|
||||||
|
osd = {
|
||||||
|
monitor = 1;
|
||||||
|
muted_zero = true;
|
||||||
|
label = "#bb9af7";
|
||||||
|
icon = "#1a1b26";
|
||||||
|
bar_overflow_color = "#f7768e";
|
||||||
|
bar_empty_color = "#414868";
|
||||||
|
bar_color = "#bb9af7";
|
||||||
|
icon_container = "#bb9af7";
|
||||||
|
bar_container = "#1a1b26";
|
||||||
|
};
|
||||||
|
notification = {
|
||||||
|
close_button.label = "#1a1b26";
|
||||||
|
close_button.background = "#f7768e";
|
||||||
|
labelicon = "#bb9af7";
|
||||||
|
text = "#c0caf5";
|
||||||
|
time = "#9aa5ce";
|
||||||
|
border = "#565f89";
|
||||||
|
label = "#bb9af7";
|
||||||
|
actions.text = "#24283b";
|
||||||
|
actions.background = "#bb9af7";
|
||||||
|
background = "#1a1b26";
|
||||||
|
};
|
||||||
|
font.size = "1.3rem";
|
||||||
|
};
|
||||||
|
notifications = {
|
||||||
|
monitor = 1;
|
||||||
|
active_monitor = false;
|
||||||
|
};
|
||||||
|
wallpaper = {
|
||||||
|
pywal = false;
|
||||||
|
image = "/home/cholli/Pictures/firewatch.jpg";
|
||||||
|
enable = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.${namespace}.desktop.addons.hyprpanel = {
|
||||||
|
enable = mkEnableOption "Enable HyprIdle";
|
||||||
|
extraSettings = mkOption {
|
||||||
|
default = { };
|
||||||
|
inherit (settingsFormat) type;
|
||||||
|
description = ''
|
||||||
|
Additional Options to pass to hyprpanel
|
||||||
|
'';
|
||||||
|
example = literalExpression ''
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
|
snowfallorg.users.${username}.home.config = {
|
||||||
|
wayland.windowManager.hyprland.settings.exec-once = [
|
||||||
|
"${pkgs.hyprpanel}/bin/hyprpanel"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
${namespace}.home.file = {
|
||||||
|
".cache/ags/hyprpanel/options_test.json" = {
|
||||||
|
|
||||||
|
# source = pkgs.formats.json.generate "options.json" settings;
|
||||||
|
text = builtins.toJSON settings;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,20 +1,16 @@
|
||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
inputs,
|
|
||||||
lib,
|
lib,
|
||||||
namespace,
|
namespace,
|
||||||
pkgs,
|
|
||||||
system,
|
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
inherit (lib) mkIf mkEnableOption;
|
inherit (lib) mkIf mkEnableOption;
|
||||||
|
|
||||||
# hyprpaper-package = inputs.hyprpaper.packages.${system}.hyprpaper;
|
|
||||||
|
|
||||||
cfg = config.${namespace}.desktop.addons.hyprpaper;
|
cfg = config.${namespace}.desktop.addons.hyprpaper;
|
||||||
|
|
||||||
username = config.${namespace}.user.name;
|
username = config.${namespace}.user.name;
|
||||||
|
picture-path = "/home/${username}/Pictures/firewatch.jpg";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.${namespace}.desktop.addons.hyprpaper = {
|
options.${namespace}.desktop.addons.hyprpaper = {
|
||||||
|
@ -28,13 +24,15 @@ in
|
||||||
"Pictures/firewatch.jpg".source = ./firewatch.jpg;
|
"Pictures/firewatch.jpg".source = ./firewatch.jpg;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
wayland.windowManager.hyprland.settings.exec-once = [
|
||||||
|
''hyprctl hyprpaper wallpaper "DP-2,${picture-path}"''
|
||||||
|
];
|
||||||
|
|
||||||
services.hyprpaper = {
|
services.hyprpaper = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
preload = [
|
preload = [ picture-path ];
|
||||||
"/home/${username}/Pictures/firewatch.jpg"
|
wallpaper = "DP-2,${picture-path}";
|
||||||
];
|
|
||||||
wallpaper = "monitor DP-2, /home/${username}/Pictures/firewatch.jpg";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -6,10 +6,17 @@
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
|
inherit (lib) mkIf mkEnableOption;
|
||||||
user = config.${namespace}.user.name;
|
user = config.${namespace}.user.name;
|
||||||
|
|
||||||
|
cfg = config.${namespace}.desktop.hyprland;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
config = {
|
options.${namespace}.desktop = {
|
||||||
|
enable = mkEnableOption "Whether to enable desktop theming";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
${namespace}.home.extraOptions = {
|
${namespace}.home.extraOptions = {
|
||||||
dconf.settings = {
|
dconf.settings = {
|
||||||
"org/gnome/desktop/interface" = {
|
"org/gnome/desktop/interface" = {
|
||||||
|
|
|
@ -30,7 +30,7 @@ let
|
||||||
hyprctl dispatch workspace $running
|
hyprctl dispatch workspace $running
|
||||||
else
|
else
|
||||||
# always open on w/space 4
|
# always open on w/space 4
|
||||||
hyprctl dispatch workspace 4
|
hyprctl dispatch workspace 9
|
||||||
1password&
|
1password&
|
||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
|
@ -47,19 +47,30 @@ in
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
polkit-kde-agent
|
# Auth Agent
|
||||||
|
hyprpolkitagent
|
||||||
|
|
||||||
|
# Notification daemon
|
||||||
|
libnotify
|
||||||
|
|
||||||
|
# Wayland Utilities
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
wl-screenrec
|
|
||||||
wlr-randr
|
wlr-randr
|
||||||
grimblast
|
|
||||||
xfce.thunar
|
|
||||||
dunst
|
|
||||||
|
|
||||||
|
# Screenshot Utility
|
||||||
|
grimblast
|
||||||
|
|
||||||
|
# File Manager
|
||||||
|
xfce.thunar
|
||||||
|
|
||||||
|
# clean sddm theme
|
||||||
elegant-sddm
|
elegant-sddm
|
||||||
|
|
||||||
|
# json cli parser for bash script to focus 1password
|
||||||
jq
|
jq
|
||||||
focus-1password
|
focus-1password
|
||||||
|
|
||||||
|
hyprpanel
|
||||||
];
|
];
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
|
@ -79,15 +90,19 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
${namespace} = {
|
${namespace} = {
|
||||||
desktop.addons = {
|
desktop = {
|
||||||
waybar = enabled;
|
enable = true;
|
||||||
|
addons = {
|
||||||
rofi = {
|
rofi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.rofi-wayland-unwrapped;
|
package = pkgs.rofi-wayland-unwrapped;
|
||||||
};
|
};
|
||||||
|
hypridle = enabled;
|
||||||
hyprlock = enabled;
|
hyprlock = enabled;
|
||||||
|
hyprpanel = enabled;
|
||||||
hyprpaper = enabled;
|
hyprpaper = enabled;
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
nix.extra-substituters.${cachix-url} = {
|
nix.extra-substituters.${cachix-url} = {
|
||||||
key = cachix-key;
|
key = cachix-key;
|
||||||
|
@ -109,20 +124,17 @@ in
|
||||||
];
|
];
|
||||||
|
|
||||||
exec-once = [
|
exec-once = [
|
||||||
"hyprpaper"
|
"systemctl --user start hyprpolkitagent"
|
||||||
"waybar"
|
|
||||||
"dunst"
|
|
||||||
"systemctl --user start plasma-polkit-agent"
|
|
||||||
|
|
||||||
"[workspace 3 silent] steam"
|
"[workspace 2 silent] steam --disable-gpu-compositing" # nvidia pls let me have nice things
|
||||||
"[workspace 2 silent] discord"
|
"[workspace 8 silent] discord --disable-gpu-compositing"
|
||||||
"[workspace 4 silent] 1password"
|
"[workspace 9 silent] 1password"
|
||||||
"[workspace 1 silent] zen"
|
"[workspace 1 silent] zen"
|
||||||
];
|
];
|
||||||
|
|
||||||
windowrulev2 = [
|
windowrulev2 = [
|
||||||
#stean is a bit wierd, since it opens in multiple phases, so just move the last window to the workspace
|
#stean is a bit wierd, since it opens in multiple phases, so just move the last window to the workspace
|
||||||
"workspace 3 silent, class:^(steam)$, title:^(Steam)"
|
"workspace 2 silent, class:^(steam)$, title:^(Steam)"
|
||||||
|
|
||||||
# make xwaylandvideobridge window invisible
|
# make xwaylandvideobridge window invisible
|
||||||
"opacity 0.0 override, class:^(xwaylandvideobridge)$"
|
"opacity 0.0 override, class:^(xwaylandvideobridge)$"
|
||||||
|
|
75
modules/nixos/security/acme/default.nix
Normal file
75
modules/nixos/security/acme/default.nix
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
namespace,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib;
|
||||||
|
with lib.${namespace};
|
||||||
|
let
|
||||||
|
cfg = config.${namespace}.security.acme;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.${namespace}.security.acme = with lib.types; {
|
||||||
|
enable = mkEnableOption "Enable sops (Default true)";
|
||||||
|
email = mkOpt str config.${namespace}.user.email "The email to use.";
|
||||||
|
sopsFile = mkOption {
|
||||||
|
type = lib.types.path;
|
||||||
|
default = lib.snowfall.fs.get-file "secrets/secrets.yaml";
|
||||||
|
description = "SecretFile";
|
||||||
|
};
|
||||||
|
domainname = mkOpt str "christophhollizeck.dev" "domainname to use";
|
||||||
|
staging = mkOpt bool false "Use staging server for testing or not";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
sops = {
|
||||||
|
secrets = {
|
||||||
|
netcup_customer_number = {
|
||||||
|
inherit (cfg) sopsFile;
|
||||||
|
};
|
||||||
|
|
||||||
|
netcup_api_key = {
|
||||||
|
inherit (cfg) sopsFile;
|
||||||
|
};
|
||||||
|
|
||||||
|
netcup_api_password = {
|
||||||
|
inherit (cfg) sopsFile;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
templates = {
|
||||||
|
"netcup.env" = {
|
||||||
|
content = ''
|
||||||
|
NETCUP_CUSTOMER_NUMBER=${config.sops.placeholder.netcup_customer_number}
|
||||||
|
NETCUP_API_KEY=${config.sops.placeholder.netcup_api_key}
|
||||||
|
NETCUP_API_PASSWORD=${config.sops.placeholder.netcup_api_password}
|
||||||
|
NETCUP_PROPAGATION_TIMEOUT=1200
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
security.acme = {
|
||||||
|
acceptTerms = true;
|
||||||
|
defaults = {
|
||||||
|
inherit (cfg) email;
|
||||||
|
|
||||||
|
group = mkIf config.services.nginx.enable "nginx";
|
||||||
|
reloadServices = optional config.services.nginx.enable "nginx.service";
|
||||||
|
|
||||||
|
dnsProvider = "netcup";
|
||||||
|
environmentFile = config.sops.templates."netcup.env".path;
|
||||||
|
};
|
||||||
|
|
||||||
|
certs."${cfg.domainname}" = {
|
||||||
|
server = mkIf cfg.staging "https://acme-staging-v02.api.letsencrypt.org/directory";
|
||||||
|
dnsResolver = "1.1.1.1:53";
|
||||||
|
extraDomainNames = [ "*.${cfg.domainname}" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
|
@ -8,30 +8,38 @@
|
||||||
with lib.${namespace};
|
with lib.${namespace};
|
||||||
let
|
let
|
||||||
cfg = config.${namespace}.services.factorio-server;
|
cfg = config.${namespace}.services.factorio-server;
|
||||||
inherit (lib) mkIf mkEnableOption;
|
inherit (lib) mkIf mkOption mkEnableOption;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.${namespace}.services.factorio-server = {
|
options.${namespace}.services.factorio-server = {
|
||||||
enable = mkEnableOption "Enable Factorio Headless Server";
|
enable = mkEnableOption "Enable Factorio Headless Server";
|
||||||
|
sopsFile = mkOption {
|
||||||
|
type = lib.types.path;
|
||||||
|
default = lib.snowfall.fs.get-file "secrets/secrets.yaml";
|
||||||
|
description = "SecretFile";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
environment.systemPackages = with pkgs; [ factorio-headless ];
|
environment.systemPackages = [ pkgs.factorio-headless ];
|
||||||
sops = {
|
sops = {
|
||||||
secrets = {
|
secrets = {
|
||||||
factorio_token = {
|
factorio_token = {
|
||||||
restartUnits = [ "factorio.service" ];
|
restartUnits = [ "factorio.service" ];
|
||||||
|
inherit (cfg) sopsFile;
|
||||||
};
|
};
|
||||||
factorio_username = {
|
factorio_username = {
|
||||||
restartUnits = [ "factorio.service" ];
|
restartUnits = [ "factorio.service" ];
|
||||||
|
inherit (cfg) sopsFile;
|
||||||
};
|
};
|
||||||
factorio_game_password = {
|
factorio_game_password = {
|
||||||
restartUnits = [ "factorio.service" ];
|
restartUnits = [ "factorio.service" ];
|
||||||
|
inherit (cfg) sopsFile;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
templates."extraSettingsFile.json".content = ''
|
templates."extraSettingsFile.json".content = ''
|
||||||
{
|
{
|
||||||
"name": "Alles Nix!",
|
"name": "SpaceAgeHolli",
|
||||||
"description": "Trying to run a factorio-headless-server on my nix system",
|
"description": "Trying to run a factorio-headless-server on my nix system",
|
||||||
"tags": ["vanilla"],
|
"tags": ["vanilla"],
|
||||||
"max_players": 10,
|
"max_players": 10,
|
||||||
|
@ -40,7 +48,6 @@ in
|
||||||
"autosave_slots": 5,
|
"autosave_slots": 5,
|
||||||
"ignore_player_limit_for_returning_players": true,
|
"ignore_player_limit_for_returning_players": true,
|
||||||
"username" : "${config.sops.placeholder.factorio_username}",
|
"username" : "${config.sops.placeholder.factorio_username}",
|
||||||
"admins": ["${config.sops.placeholder.factorio_username}"],
|
|
||||||
"token": "${config.sops.placeholder.factorio_token}"
|
"token": "${config.sops.placeholder.factorio_token}"
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
|
@ -53,8 +60,13 @@ in
|
||||||
public = true;
|
public = true;
|
||||||
lan = true;
|
lan = true;
|
||||||
nonBlockingSaving = true;
|
nonBlockingSaving = true;
|
||||||
autosave-interval = 5;
|
autosave-interval = 15;
|
||||||
loadLatestSave = true;
|
saveName = "SpaceAge";
|
||||||
|
admins = [
|
||||||
|
"daholli"
|
||||||
|
"galbrain"
|
||||||
|
"geigeabc"
|
||||||
|
];
|
||||||
extraSettingsFile = config.sops.templates."extraSettingsFile.json".path;
|
extraSettingsFile = config.sops.templates."extraSettingsFile.json".path;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -13,7 +13,7 @@ let
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.${namespace}.submodules.basics = with types; {
|
options.${namespace}.submodules.basics = with types; {
|
||||||
enable = mkBoolOpt false "Whether or not to enable basic configuration.";
|
enable = mkEnableOption "Whether or not to enable basic configuration.";
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
@ -29,7 +29,7 @@ in
|
||||||
#optional
|
#optional
|
||||||
pciutils
|
pciutils
|
||||||
usbutils
|
usbutils
|
||||||
htop
|
btop
|
||||||
];
|
];
|
||||||
|
|
||||||
${namespace} = {
|
${namespace} = {
|
||||||
|
|
|
@ -17,7 +17,7 @@ in
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
boot = {
|
boot = {
|
||||||
kernelPackages = pkgs.linuxPackages_6_10;
|
kernelPackages = pkgs.linuxPackages_latest;
|
||||||
loader = {
|
loader = {
|
||||||
systemd-boot.enable = true;
|
systemd-boot.enable = true;
|
||||||
efi.canTouchEfiVariables = true;
|
efi.canTouchEfiVariables = true;
|
||||||
|
|
|
@ -24,7 +24,7 @@ in
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
git
|
git
|
||||||
gitAndTools.gh
|
gitAndTools.gh
|
||||||
gitbutler
|
# gitbutler
|
||||||
];
|
];
|
||||||
|
|
||||||
${namespace}.home.extraOptions = {
|
${namespace}.home.extraOptions = {
|
||||||
|
|
|
@ -48,6 +48,11 @@ in
|
||||||
icon = mkOpt (nullOr package) defaultIcon "The profile picture to use for the user.";
|
icon = mkOpt (nullOr package) defaultIcon "The profile picture to use for the user.";
|
||||||
extraGroups = mkOpt (listOf str) [ ] "Groups for the user to be assigned.";
|
extraGroups = mkOpt (listOf str) [ ] "Groups for the user to be assigned.";
|
||||||
extraOptions = mkOpt attrs { } (mdDoc "Extra options passed to `users.users.<name>`.");
|
extraOptions = mkOpt attrs { } (mdDoc "Extra options passed to `users.users.<name>`.");
|
||||||
|
trustedPublicKeys = mkOption {
|
||||||
|
default = [ ];
|
||||||
|
type = nullOr (listOf str);
|
||||||
|
description = "Trusted public keys for this user for the machine";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
|
@ -92,6 +97,8 @@ in
|
||||||
# system to select).
|
# system to select).
|
||||||
uid = 1000;
|
uid = 1000;
|
||||||
|
|
||||||
|
openssh.authorizedKeys.keys = cfg.trustedPublicKeys;
|
||||||
|
|
||||||
extraGroups = [ "steamcmd" ] ++ cfg.extraGroups;
|
extraGroups = [ "steamcmd" ] ++ cfg.extraGroups;
|
||||||
} // cfg.extraOptions;
|
} // cfg.extraOptions;
|
||||||
};
|
};
|
||||||
|
|
9
overlays/discord/default.nix
Normal file
9
overlays/discord/default.nix
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{ ... }:
|
||||||
|
|
||||||
|
final: prev: {
|
||||||
|
discord = prev.discord.overrideAttrs (oldAttrs: {
|
||||||
|
commandLineArgs = ''
|
||||||
|
--disable-gpu-compositing
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
}
|
3
overlays/factorio-headless/default.nix
Normal file
3
overlays/factorio-headless/default.nix
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
{ channels, ... }:
|
||||||
|
|
||||||
|
final: prev: { inherit (channels.nixpkgs-latest-factorio) factorio-headless; }
|
|
@ -1,3 +1,3 @@
|
||||||
{ channels, ... }:
|
{ channels, ... }:
|
||||||
|
|
||||||
final: prev: { inherit (channels.unstable) pobfrontend; }
|
final: prev: { inherit (channels.nixpkgs-unstable) pobfrontend; }
|
||||||
|
|
9
overlays/steam/default.nix
Normal file
9
overlays/steam/default.nix
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{ ... }:
|
||||||
|
|
||||||
|
final: prev: {
|
||||||
|
steam = prev.steam.overrideAttrs (oldAttrs: {
|
||||||
|
commandLineArgs = ''
|
||||||
|
--disable-gpu-compositing
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
}
|
9
overlays/teams-for-linux/default.nix
Normal file
9
overlays/teams-for-linux/default.nix
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{ ... }:
|
||||||
|
|
||||||
|
final: prev: {
|
||||||
|
teams-for-linux = prev.teams-for-linux.overrideAttrs (oldAttrs: {
|
||||||
|
commandLineArgs = ''
|
||||||
|
--disable-gpu-compositing
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
}
|
30
secrets/secrets-loptland.yaml
Normal file
30
secrets/secrets-loptland.yaml
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
#ENC[AES256_GCM,data:Cgp+gOU81+rvdlY=,iv:8DxJxnCslDoEu0bxtlTjmNiAUCdiAV/8VYKTb4yqQ50=,tag:ZTkK7WCOBh1It6GuKPUXdg==,type:comment]
|
||||||
|
factorio_username: ENC[AES256_GCM,data:egV5kXtAiw==,iv:Hay0PC2yol5FAJGcWxLkxzNdwpD1V4UfDDnkhsjvjVQ=,tag:QBDS6eAeOswQoHBoi4Gj6A==,type:str]
|
||||||
|
factorio_token: ENC[AES256_GCM,data:whruEJQCNIqqfMA0A3yQdwwrzpIJBt815Lvex4Au,iv:hh3zZt+UxV9ltSHIAjpTRwtDvPgPU5APrB/1bXtKUkE=,tag:AgUmBYWp+Oyxm8O7yD8vlA==,type:str]
|
||||||
|
factorio_game_password: ENC[AES256_GCM,data:Gu/p0+Sbd6Y=,iv:6AB1T3JdleiUnusU7hw/0wOFNSBsAsBgP2yD9FB7zXk=,tag:DMgD4csthynuBon+KNZtOw==,type:str]
|
||||||
|
#ENC[AES256_GCM,data:15i2BBxM4iM=,iv:JV6Lsk8jUZl/eIJWkH/w5I2NraB9J9+0ggsENBGgbdI=,tag:HDwGheUv7dFIztQoJBjGmQ==,type:comment]
|
||||||
|
forgejo_db_password: ENC[AES256_GCM,data:CFsvko1AXRymDBC6WiOBs98rvFM=,iv:Wemhu8URxA6HsWQyYcPSwJzuMP4myrDC3rU3GEDVt7c=,tag:6wcNlDFVdnjez8hzi4E2cw==,type:str]
|
||||||
|
#ENC[AES256_GCM,data:nQnLBl7v,iv:HORr/Uvw4eUXfW5uS6rWr+6FkFF9bTNpMYGaRpVITRY=,tag:/r4n/xpqp7EPecGxDj4N+w==,type:comment]
|
||||||
|
netcup_customer_number: ENC[AES256_GCM,data:pRooJa3O,iv:0U/ONcWa2eqcsT1UpgXmLpAvJndaU8zln2g1HMbBQYE=,tag:+pu8EBl/dnm6DoLAtrjZBQ==,type:str]
|
||||||
|
netcup_api_key: ENC[AES256_GCM,data:nlkDz1VV2NIXxv/tIROWDHN9DLI0lVq9n9l2FlDwt+3H4G4gg6yCeZjGtR+pTCNfwio=,iv:x8HLL10ww52UJDkz7Yi02KBg7jbuLFHAlG0iMYDd8hk=,tag:pcuka4/Hu/QFIwS0b8GlxQ==,type:str]
|
||||||
|
netcup_api_password: ENC[AES256_GCM,data:k2mdQp57x5ZTypRCHbVlq1fembJ0uj5D0rb72K5rac43p888y3TFyiYVuDTosxR66mo=,iv:0OhtKWD/LWeV5ZWN9fbPozebSxvaFRdSn1AkX97ffAM=,tag:uY6A4jBL/9mtGy7++Yvn0A==,type:str]
|
||||||
|
sops:
|
||||||
|
kms: []
|
||||||
|
gcp_kms: []
|
||||||
|
azure_kv: []
|
||||||
|
hc_vault: []
|
||||||
|
age:
|
||||||
|
- recipient: age1amdd4hu6k0czf3mtlhd03yj3yzkdaynl7q5fdlqmjzpe9pwgxfjs3j0c85
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3NFlTd2hOTHBtUDhuT0lF
|
||||||
|
amtLclY2ZTN0SStZQjFSNkZUd1RmMkdJZ0dJCnB2WU04dk41Qk45aGphMW9GQVJ4
|
||||||
|
b2VWQVlOVFFLaGJWaU9FVU5ZUWtlRncKLS0tIGVPYW5DQnJMeW1qdWtINDNlQWFo
|
||||||
|
NmhrdXhpbVlmUFNsT1VaQjZyYkZkdzgKhL2BKXfPWNWUbFavpmtBQpnNEm/x0xH6
|
||||||
|
NsjiV05AcrqPmGjj2kjvTv4ULPSoHiHiC5McUMfFTYIrCJgNvUbmMg==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
lastmodified: "2024-11-07T14:40:34Z"
|
||||||
|
mac: ENC[AES256_GCM,data:uk2AeOA9pnhekuofIjXavCGy9ZaO0ObprkvnGhJg5lPr/hyT9l7YcZtMQ7wckKDLS03I1hCAcNg0w/EmSUeU2+EHLb6Z1IUj3l0HBUPtPIJwJZifkrzp9iQwGwlK+i6nfREEgPGeuNMj/rnD67MECO4NRHTzGBzH7ZImoDpu0Us=,iv:ss8Q7i75UOQDMJfw4dQCT0qxPUGwfHizX0c/TUej+vc=,tag:iufeO6sfaToNcJg6E8tuxA==,type:str]
|
||||||
|
pgp: []
|
||||||
|
unencrypted_suffix: _unencrypted
|
||||||
|
version: 3.9.1
|
|
@ -1,7 +1,7 @@
|
||||||
#ENC[AES256_GCM,data:Y75QxOB7YrOA,iv:mZ2f288IG/pmlQRtCqdcz03dDTYMnnj50Vsk/BwTJ+c=,tag:gPHZgq091G4LYMan9R6z1w==,type:comment]
|
#ENC[AES256_GCM,data:Y75QxOB7YrOA,iv:mZ2f288IG/pmlQRtCqdcz03dDTYMnnj50Vsk/BwTJ+c=,tag:gPHZgq091G4LYMan9R6z1w==,type:comment]
|
||||||
factorio_username: ENC[AES256_GCM,data:rI7vF0XlaQ==,iv:+d5dD+nawphw+g8zavFXUr87bewTL1d+fuFnYKuYJKc=,tag:B8/6I7zi0b6xo8TFsY35Ug==,type:str]
|
factorio_username: ENC[AES256_GCM,data:rI7vF0XlaQ==,iv:+d5dD+nawphw+g8zavFXUr87bewTL1d+fuFnYKuYJKc=,tag:B8/6I7zi0b6xo8TFsY35Ug==,type:str]
|
||||||
factorio_token: ENC[AES256_GCM,data:0JOQv4UGiz2j2KPEoNm2IuE3qt8XfKuVEBWJ2+fF,iv:EUc8vhrB5NcgFKO7xTCxG2PzUuFCJFIl1KB90NqCOXw=,tag:rCilwxD8sw+Ql5HzvcUEJQ==,type:str]
|
factorio_token: ENC[AES256_GCM,data:0JOQv4UGiz2j2KPEoNm2IuE3qt8XfKuVEBWJ2+fF,iv:EUc8vhrB5NcgFKO7xTCxG2PzUuFCJFIl1KB90NqCOXw=,tag:rCilwxD8sw+Ql5HzvcUEJQ==,type:str]
|
||||||
factorio_game_password: ENC[AES256_GCM,data:wwmltZzhYlQ=,iv:2LPugIqfPLJ5PbdrVfI36+76pAVp5Rano4T6968OsKs=,tag:kRpWL4wYnm/X4SHYypzVyA==,type:str]
|
factorio_game_password: ENC[AES256_GCM,data:xMpORLbom/w=,iv:ukkPL10vAcQKGGpjqKM58uIfJ3sRLhxUkFyf0JXJkvc=,tag:jw52z23utK7eHM9e2zZvig==,type:str]
|
||||||
nixpkgs_review_auth: ENC[AES256_GCM,data:4zd7nThKhMMQxuxVdGZFUyJJ3rDBC29h9ydGmjKBEFy9Lz5X9TCf3w==,iv:u3aasLXSqer50RZDvvwGr0mwEoyywWaMr6q9VhPZieg=,tag:/rfQ4LHfJsvFYH+4hBe4LQ==,type:str]
|
nixpkgs_review_auth: ENC[AES256_GCM,data:4zd7nThKhMMQxuxVdGZFUyJJ3rDBC29h9ydGmjKBEFy9Lz5X9TCf3w==,iv:u3aasLXSqer50RZDvvwGr0mwEoyywWaMr6q9VhPZieg=,tag:/rfQ4LHfJsvFYH+4hBe4LQ==,type:str]
|
||||||
sops:
|
sops:
|
||||||
kms: []
|
kms: []
|
||||||
|
@ -18,8 +18,8 @@ sops:
|
||||||
TzdjVjVtWmxNNm96WHhXSGM4WjErMkEKoGtyn6M91h+ye8U/ltOuOQ74RUo/2R37
|
TzdjVjVtWmxNNm96WHhXSGM4WjErMkEKoGtyn6M91h+ye8U/ltOuOQ74RUo/2R37
|
||||||
l5vR47FUyzilUliIK2PDUMXM/S3Yk3Zi6g3XL8OPd53X5I1UYUJmRw==
|
l5vR47FUyzilUliIK2PDUMXM/S3Yk3Zi6g3XL8OPd53X5I1UYUJmRw==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
lastmodified: "2024-09-06T19:21:22Z"
|
lastmodified: "2024-10-22T00:06:22Z"
|
||||||
mac: ENC[AES256_GCM,data:xgRgCRNtsoa3h7ss9uUyOVmGWoQqZ8+vSk0sNkhOeev1tB9qesTnkqNfRkilRyZPNen5xTV8iupvlB4wLVjODGDLueaimnOjWxrk8urSLPEbCzjLUsWuWiVANIkkyGWn0KH4mxr4pR0lt+Yy2JRKuzKGPYKYHWwnCg1saVCC2VE=,iv:iu86TvF8ur8RALGkJTgam35kJ4QRx6ruMBnj7o99A8k=,tag:AY/hCByZd1SNVIrWZ4qp4A==,type:str]
|
mac: ENC[AES256_GCM,data:NFP/q1AwapApQ7osBUIIQRfwuD5CbZphZkxLo1BfnUG7q/TxLbUm7F1uDaHFx55ox7FrvBzm11k/A8njcOQtpmfnBGhwF+X6VUF+CvsnTStRk/4v1TiybFFODSPKVmsZvxKJS1cRnTmptBvDoDfztIvqk4m9XvuVZlYvK5VXQVA=,iv:z61xn9BYygcD5t/z0ZO7yUSS+yFOUNvmcSSx+c1RgAQ=,tag:u1/P68g2jemJhOloZHB7yA==,type:str]
|
||||||
pgp: []
|
pgp: []
|
||||||
unencrypted_suffix: _unencrypted
|
unencrypted_suffix: _unencrypted
|
||||||
version: 3.9.0
|
version: 3.9.1
|
||||||
|
|
122
systems/x86_64-linux/loptland/default.nix
Normal file
122
systems/x86_64-linux/loptland/default.nix
Normal file
|
@ -0,0 +1,122 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
namespace,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
inherit (lib.${namespace}) enabled;
|
||||||
|
|
||||||
|
domainName = "christophhollizeck.dev";
|
||||||
|
forgejoPort = 3000;
|
||||||
|
|
||||||
|
cfg.enableAcme = true;
|
||||||
|
|
||||||
|
sopsFile = lib.snowfall.fs.get-file "secrets/secrets-loptland.yaml";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
imports = [ ./hardware.nix ];
|
||||||
|
|
||||||
|
environment.systemPackages = [ ];
|
||||||
|
|
||||||
|
sops = {
|
||||||
|
secrets = {
|
||||||
|
forgejo_db_password = {
|
||||||
|
inherit sopsFile;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.openssh = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
PasswordAuthentication = false;
|
||||||
|
KbdInteractiveAuthentication = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.nginx = {
|
||||||
|
enable = true;
|
||||||
|
recommendedProxySettings = true;
|
||||||
|
|
||||||
|
virtualHosts = {
|
||||||
|
"git.${domainName}" = {
|
||||||
|
forceSSL = cfg.enableAcme;
|
||||||
|
useACMEHost = mkIf cfg.enableAcme domainName;
|
||||||
|
|
||||||
|
locations."/" = {
|
||||||
|
proxyPass = "http://localhost:${toString forgejoPort}/";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
"${domainName}" = {
|
||||||
|
forceSSL = cfg.enableAcme;
|
||||||
|
useACMEHost = mkIf cfg.enableAcme domainName;
|
||||||
|
|
||||||
|
locations."/" = {
|
||||||
|
return = "404";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.forgejo = {
|
||||||
|
enable = true;
|
||||||
|
database.type = "postgres";
|
||||||
|
lfs.enable = true;
|
||||||
|
database = {
|
||||||
|
passwordFile = config.sops.secrets.forgejo_db_password.path;
|
||||||
|
};
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
server = {
|
||||||
|
DOMAIN = "git.${domainName}";
|
||||||
|
ROOT_URL = "http://git.${domainName}:${toString forgejoPort}";
|
||||||
|
HTTP_PORT = forgejoPort;
|
||||||
|
};
|
||||||
|
|
||||||
|
service.DISABLE_REGISTRATION = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.firewall.allowedTCPPorts = [
|
||||||
|
forgejoPort
|
||||||
|
80
|
||||||
|
443
|
||||||
|
];
|
||||||
|
|
||||||
|
${namespace} = {
|
||||||
|
submodules = {
|
||||||
|
basics = enabled;
|
||||||
|
};
|
||||||
|
|
||||||
|
services = {
|
||||||
|
factorio-server = {
|
||||||
|
enable = true;
|
||||||
|
inherit sopsFile;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
security = {
|
||||||
|
acme = {
|
||||||
|
enable = cfg.enableAcme;
|
||||||
|
inherit sopsFile;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
user.trustedPublicKeys = [
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHFrDiO5+vMfD5MimkzN32iw3MnSMLZ0mHvOrHVVmLD0"
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII4Pr7p0jizrvIl0UhcvrmL5SHRQQQWIcHLAnRFyUZS6"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
snowfallorg.users.${config.${namespace}.user.name}.home.config = {
|
||||||
|
programs.fish.shellInit = ''
|
||||||
|
eval $(op signin)
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
system.stateVersion = "24.11";
|
||||||
|
}
|
42
systems/x86_64-linux/loptland/hardware.nix
Normal file
42
systems/x86_64-linux/loptland/hardware.nix
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/profiles/qemu-guest.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [
|
||||||
|
"ata_piix"
|
||||||
|
"uhci_hcd"
|
||||||
|
"virtio_pci"
|
||||||
|
"sr_mod"
|
||||||
|
"virtio_blk"
|
||||||
|
];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" = {
|
||||||
|
device = "/dev/disk/by-uuid/26b098dd-0a15-49c5-9998-75f43d17eb26";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" = {
|
||||||
|
device = "/dev/disk/by-uuid/30AB-7309";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [
|
||||||
|
"fmask=0077"
|
||||||
|
"dmask=0077"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [ { device = "/dev/disk/by-uuid/b9bcb425-cb1c-40a1-89bb-d7fe6b421834"; } ];
|
||||||
|
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
}
|
|
@ -5,7 +5,7 @@
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
inherit (lib.${namespace}) enabled;
|
inherit (lib.${namespace}) enabled disabled;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [ ./hardware.nix ];
|
imports = [ ./hardware.nix ];
|
||||||
|
@ -21,6 +21,10 @@ in
|
||||||
|
|
||||||
virtualisation.waydroid = enabled;
|
virtualisation.waydroid = enabled;
|
||||||
|
|
||||||
|
programs.ssh.extraConfig = ''
|
||||||
|
AddressFamily inet
|
||||||
|
'';
|
||||||
|
|
||||||
${namespace} = {
|
${namespace} = {
|
||||||
archetypes = {
|
archetypes = {
|
||||||
gaming.enable = true;
|
gaming.enable = true;
|
||||||
|
@ -57,35 +61,32 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
exec-once = [
|
exec-once = [
|
||||||
"hyprctl dispatch moveworkspacetomonitor 4 HDMI-A-1"
|
|
||||||
"xrandr --output DP-2 --primary"
|
"xrandr --output DP-2 --primary"
|
||||||
"[workspace 1 silent] obsidian --disabled-gpu"
|
"[workspace 1 silent] obsidian --disabled-gpu"
|
||||||
"[workspace 4 silent] git-butler"
|
"[workspace 9 silent] git-butler"
|
||||||
];
|
];
|
||||||
|
|
||||||
workspace = [
|
workspace = [
|
||||||
"1, monitor:DP-2"
|
"1, monitor:DP-2"
|
||||||
"2, monitor:HDMI-A-1"
|
"2, monitor:DP-2"
|
||||||
"3, monitor:DP-2"
|
"3, monitor:DP-2"
|
||||||
"4, monitor:HDMI-A-1"
|
"4, monitor:DP-2"
|
||||||
|
"8, monitor:HDMI-A-1"
|
||||||
|
"9, monitor:HDMI-A-1"
|
||||||
];
|
];
|
||||||
|
|
||||||
windowrulev2 = [
|
windowrulev2 = [
|
||||||
"workspace 2 silent, class:^(steam)$, title:^(Friends List)"
|
"workspace 8 silent, class:^(steam)$, title:^(Friends List)"
|
||||||
"workspace 2 silent, class:^(discord)$, title:^(Discord)"
|
"workspace 8 silent, class:^(discord)$, title:^(Discord)"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
factorio-server = enabled;
|
factorio-server = disabled;
|
||||||
};
|
};
|
||||||
|
|
||||||
system = {
|
system = {
|
||||||
autoUpgrade = {
|
|
||||||
enable = true;
|
|
||||||
time = "10:00";
|
|
||||||
};
|
|
||||||
hardware = {
|
hardware = {
|
||||||
bluetooth = enabled;
|
bluetooth = enabled;
|
||||||
gpu.nvidia = enabled;
|
gpu.nvidia = enabled;
|
||||||
|
|
Loading…
Reference in a new issue