Compare commits
1 Commits
master
...
temp-small
Author | SHA1 | Date | |
---|---|---|---|
aad01c1271 |
@ -8,7 +8,6 @@ creation_rules:
|
||||
key_groups:
|
||||
- age:
|
||||
- *admin_torjus
|
||||
- *server_magicman
|
||||
- path_regex: secrets/gunter/[^/]+\.(yaml|json|env|ini|toml)
|
||||
key_groups:
|
||||
- age:
|
||||
@ -28,4 +27,3 @@ creation_rules:
|
||||
key_groups:
|
||||
- age:
|
||||
- *admin_torjus
|
||||
- *server_magicman
|
||||
|
449
flake.lock
generated
449
flake.lock
generated
@ -1,5 +1,77 @@
|
||||
{
|
||||
"nodes": {
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710146030,
|
||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_2": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710146030,
|
||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_3": {
|
||||
"inputs": {
|
||||
"systems": "systems_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726560853,
|
||||
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_4": {
|
||||
"inputs": {
|
||||
"systems": "systems_5"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726560853,
|
||||
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"ghettoptt": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@ -28,11 +100,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1751384836,
|
||||
"narHash": "sha256-7xRbl/VLXxE5DzJmk1wdKWJmPx8rAfNC/a6mXtqp5cc=",
|
||||
"lastModified": 1732025103,
|
||||
"narHash": "sha256-qjEI64RKvDxRyEarY0jTzrZMa8ebezh2DEZmJJrpVdo=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "479f8889675770881033878a1c114fbfc6de7a4d",
|
||||
"rev": "a46e702093a5c46e192243edbd977d5749e7f294",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -43,19 +115,18 @@
|
||||
},
|
||||
"huecli": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"pyproject-build-systems": "pyproject-build-systems",
|
||||
"pyproject-nix": "pyproject-nix",
|
||||
"uv2nix": "uv2nix"
|
||||
"poetry2nix": "poetry2nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1732927393,
|
||||
"narHash": "sha256-S/StGXd2t8VvvnZ81uPyggc0dHfgHyrFMmXWkGhsJqg=",
|
||||
"lastModified": 1728336978,
|
||||
"narHash": "sha256-7FX4K8QBH/9jiYyCMs2JyCTzlx1/D5Cw6upaFThSVg4=",
|
||||
"ref": "master",
|
||||
"rev": "c2ff98ce55605e57370ea216300d0e58df602c26",
|
||||
"revCount": 31,
|
||||
"rev": "700ece0bada9833fcfd3b6ce698cd74bc00e4493",
|
||||
"revCount": 22,
|
||||
"type": "git",
|
||||
"url": "https://git.t-juice.club/torjus/huecli"
|
||||
},
|
||||
@ -65,25 +136,48 @@
|
||||
"url": "https://git.t-juice.club/torjus/huecli"
|
||||
}
|
||||
},
|
||||
"natstonotify": {
|
||||
"nix-github-actions": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"huecli",
|
||||
"poetry2nix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1739302828,
|
||||
"narHash": "sha256-D6l5tAh1FDpdz9/tQC7kYhFPQzqI1HICwNh7fRejfrw=",
|
||||
"ref": "master",
|
||||
"rev": "bfcf518fe0b2fe19075667f7b22227376d102509",
|
||||
"revCount": 7,
|
||||
"type": "git",
|
||||
"url": "https://git.t-juice.club/torjus/natstonotify"
|
||||
"lastModified": 1703863825,
|
||||
"narHash": "sha256-rXwqjtwiGKJheXB43ybM8NwWB8rO2dSRrEqes0S7F5Y=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-github-actions",
|
||||
"rev": "5163432afc817cf8bd1f031418d1869e4c9d5547",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"ref": "master",
|
||||
"type": "git",
|
||||
"url": "https://git.t-juice.club/torjus/natstonotify"
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-github-actions",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-github-actions_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixprstatus",
|
||||
"poetry2nix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1720066371,
|
||||
"narHash": "sha256-uPlLYH2S0ACj0IcgaK9Lsf4spmJoGejR9DotXiXSBZQ=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-github-actions",
|
||||
"rev": "622f829f5fe69310a866c8a6cd07e747c44ef820",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-github-actions",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-packages": {
|
||||
@ -93,11 +187,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1747129247,
|
||||
"narHash": "sha256-twZe3IIZraF+OD8YUFiASuzCEqSUvyP2ZOftyEtmTW4=",
|
||||
"lastModified": 1728153756,
|
||||
"narHash": "sha256-kNpO8yC2MioSRc2SNxNM5egVvFjA2Ox0b4SAs6GnM8w=",
|
||||
"ref": "master",
|
||||
"rev": "4f44b54b23defabf4058d26951d8f549e2d76239",
|
||||
"revCount": 30,
|
||||
"rev": "2fc840c15280d2dd3da1aba7272243b4aa11e611",
|
||||
"revCount": 21,
|
||||
"type": "git",
|
||||
"url": "https://git.t-juice.club/torjus/nix-packages"
|
||||
},
|
||||
@ -109,11 +203,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1751271578,
|
||||
"narHash": "sha256-P/SQmKDu06x8yv7i0s8bvnnuJYkxVGBWLWHaU+tt4YY=",
|
||||
"lastModified": 1731676054,
|
||||
"narHash": "sha256-OZiZ3m8SCMfh3B6bfGC/Bm4x3qc1m2SVEAlkV6iY7Yg=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "3016b4b15d13f3089db8a41ef937b13a9e33a8df",
|
||||
"rev": "5e4fbfb6b3de1aa2872b76d49fafc942626e2add",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -123,37 +217,52 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"nixpkgs-small": {
|
||||
"locked": {
|
||||
"lastModified": 1751211869,
|
||||
"narHash": "sha256-1Cu92i1KSPbhPCKxoiVG5qnoRiKTgR5CcGSRyLpOd7Y=",
|
||||
"lastModified": 1732007104,
|
||||
"narHash": "sha256-qaWPxgLAvtIHTDcm0qJuc+WNYjcy4ZKigOyn2ag4ihM=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "b43c397f6c213918d6cfe6e3550abfe79b5d1c51",
|
||||
"rev": "0705964c881cea8896474610188905ba41b59b08",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-25.05",
|
||||
"ref": "nixos-unstable-small",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1731755305,
|
||||
"narHash": "sha256-v5P3dk5JdiT+4x69ZaB18B8+Rcu3TIOrcdG4uEX7WZ8=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "057f63b6dc1a2c67301286152eb5af20747a9cb4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-24.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixprstatus": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_3",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"pyproject-build-systems": "pyproject-build-systems_2",
|
||||
"pyproject-nix": "pyproject-nix_2",
|
||||
"uv2nix": "uv2nix_2"
|
||||
"poetry2nix": "poetry2nix_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1748349633,
|
||||
"narHash": "sha256-SyFF/p3G7YsJH0p5jgeOqdtc3ehzGuI05ZqiJbZNAZA=",
|
||||
"lastModified": 1729118937,
|
||||
"narHash": "sha256-7xYCJXTh92OpKwfshYYnxrWmfNjqaH9SzQ0stuBARVM=",
|
||||
"ref": "master",
|
||||
"rev": "ef55b5b9478390b535fe708edfa297729ac75572",
|
||||
"revCount": 60,
|
||||
"rev": "58b113d934f5d62f27dc50439b89fece4eb621f5",
|
||||
"revCount": 37,
|
||||
"type": "git",
|
||||
"url": "https://git.t-juice.club/torjus/nixprstatus"
|
||||
},
|
||||
@ -163,103 +272,53 @@
|
||||
"url": "https://git.t-juice.club/torjus/nixprstatus"
|
||||
}
|
||||
},
|
||||
"pyproject-build-systems": {
|
||||
"poetry2nix": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_2",
|
||||
"nix-github-actions": "nix-github-actions",
|
||||
"nixpkgs": [
|
||||
"huecli",
|
||||
"nixpkgs"
|
||||
],
|
||||
"pyproject-nix": [
|
||||
"huecli",
|
||||
"pyproject-nix"
|
||||
],
|
||||
"uv2nix": [
|
||||
"huecli",
|
||||
"uv2nix"
|
||||
]
|
||||
"systems": "systems_3",
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1732506638,
|
||||
"narHash": "sha256-aIjGCa8Lvhb8QnbHPOtkZ6yTrb8KURRlYzlo7UaBeac=",
|
||||
"owner": "pyproject-nix",
|
||||
"repo": "build-system-pkgs",
|
||||
"rev": "70c271e7a64199c71c9dbcbe513c7b2402573789",
|
||||
"lastModified": 1724208502,
|
||||
"narHash": "sha256-TCRcEPSfgAw/t7kClmlr23s591N06mQCrhzlAO7cyFw=",
|
||||
"owner": "nix-community",
|
||||
"repo": "poetry2nix",
|
||||
"rev": "884b66152b0c625b8220b570a31dc7acc36749a3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "pyproject-nix",
|
||||
"repo": "build-system-pkgs",
|
||||
"owner": "nix-community",
|
||||
"repo": "poetry2nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pyproject-build-systems_2": {
|
||||
"poetry2nix_2": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_4",
|
||||
"nix-github-actions": "nix-github-actions_2",
|
||||
"nixpkgs": [
|
||||
"nixprstatus",
|
||||
"nixpkgs"
|
||||
],
|
||||
"pyproject-nix": [
|
||||
"nixprstatus",
|
||||
"pyproject-nix"
|
||||
],
|
||||
"uv2nix": [
|
||||
"nixprstatus",
|
||||
"uv2nix"
|
||||
]
|
||||
"systems": "systems_6",
|
||||
"treefmt-nix": "treefmt-nix_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1744599653,
|
||||
"narHash": "sha256-nysSwVVjG4hKoOjhjvE6U5lIKA8sEr1d1QzEfZsannU=",
|
||||
"owner": "pyproject-nix",
|
||||
"repo": "build-system-pkgs",
|
||||
"rev": "7dba6dbc73120e15b558754c26024f6c93015dd7",
|
||||
"lastModified": 1729073785,
|
||||
"narHash": "sha256-KaDC7emuamQblDdka+gkBUUdEjQf3YGYozMb+zomgSM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "poetry2nix",
|
||||
"rev": "795fddefc9f910671c1cf0752c29802ce27322d6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "pyproject-nix",
|
||||
"repo": "build-system-pkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pyproject-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"huecli",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1732502826,
|
||||
"narHash": "sha256-tgInDnNOGd5haarL7i94TZ/TqOR1UHvYliw+Db0lk6U=",
|
||||
"owner": "pyproject-nix",
|
||||
"repo": "pyproject.nix",
|
||||
"rev": "fb87b3bad09fbd71b448e2f71f0337087430dbc7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "pyproject-nix",
|
||||
"repo": "pyproject.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pyproject-nix_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixprstatus",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1746540146,
|
||||
"narHash": "sha256-QxdHGNpbicIrw5t6U3x+ZxeY/7IEJ6lYbvsjXmcxFIM=",
|
||||
"owner": "pyproject-nix",
|
||||
"repo": "pyproject.nix",
|
||||
"rev": "e09c10c24ebb955125fda449939bfba664c467fd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "pyproject-nix",
|
||||
"repo": "pyproject.nix",
|
||||
"owner": "nix-community",
|
||||
"repo": "poetry2nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
@ -268,9 +327,9 @@
|
||||
"ghettoptt": "ghettoptt",
|
||||
"home-manager": "home-manager",
|
||||
"huecli": "huecli",
|
||||
"natstonotify": "natstonotify",
|
||||
"nix-packages": "nix-packages",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs-small": "nixpkgs-small",
|
||||
"nixpkgs-stable": "nixpkgs-stable",
|
||||
"nixprstatus": "nixprstatus",
|
||||
"sops-nix": "sops-nix"
|
||||
@ -283,11 +342,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750119275,
|
||||
"narHash": "sha256-Rr7Pooz9zQbhdVxux16h7URa6mA80Pb/G07T4lHvh0M=",
|
||||
"lastModified": 1731954233,
|
||||
"narHash": "sha256-vvXx1m2Rsw7MkbKJdpcICzz4YPgZPApGKQGhNZfkhOI=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "77c423a03b9b2b79709ea2cb63336312e78b72e2",
|
||||
"rev": "e39947d0ee8e341fa7108bd02a33cdfa24a1360e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -296,53 +355,135 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"uv2nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"huecli",
|
||||
"nixpkgs"
|
||||
],
|
||||
"pyproject-nix": [
|
||||
"huecli",
|
||||
"pyproject-nix"
|
||||
]
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1732759365,
|
||||
"narHash": "sha256-kOOlzfAsFpfiLltRbqFysVhT86erXVe4TZCNIq5zv0o=",
|
||||
"owner": "pyproject-nix",
|
||||
"repo": "uv2nix",
|
||||
"rev": "f932943b62a0b4fade224f18df13558f8015dd99",
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "pyproject-nix",
|
||||
"repo": "uv2nix",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"uv2nix_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixprstatus",
|
||||
"nixpkgs"
|
||||
],
|
||||
"pyproject-nix": [
|
||||
"nixprstatus",
|
||||
"pyproject-nix"
|
||||
]
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1747949765,
|
||||
"narHash": "sha256-1v8SFHOwUCvHDXFmQRjHZYawY19nxmtZ7zH/kwAGgj0=",
|
||||
"owner": "pyproject-nix",
|
||||
"repo": "uv2nix",
|
||||
"rev": "ec0502250b48116fd3aa8e1347a2d0254bacd05e",
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "pyproject-nix",
|
||||
"repo": "uv2nix",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_3": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "systems",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"systems_4": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_5": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_6": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "systems",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"treefmt-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"huecli",
|
||||
"poetry2nix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1719749022,
|
||||
"narHash": "sha256-ddPKHcqaKCIFSFc/cvxS14goUhCOAwsM1PbMr0ZtHMg=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "8df5ff62195d4e67e2264df0b7f5e8c9995fd0bd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"treefmt-nix_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixprstatus",
|
||||
"poetry2nix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1727984844,
|
||||
"narHash": "sha256-xpRqITAoD8rHlXQafYZOLvUXCF6cnZkPfoq67ThN0Hc=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "4446c7a6fc0775df028c5a3f6727945ba8400e64",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
|
22
flake.nix
22
flake.nix
@ -2,9 +2,10 @@
|
||||
description = "Torjus nixos config flake";
|
||||
|
||||
inputs = {
|
||||
nixpkgs-stable.url = "github:nixos/nixpkgs?ref=nixos-25.05";
|
||||
nixpkgs-stable.url = "github:nixos/nixpkgs?ref=nixos-24.11";
|
||||
#nixpkgs-master.url = "github:nixos/nixpkgs?ref=master";
|
||||
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
||||
nixpkgs-small.url = "github:nixos/nixpkgs?ref=nixos-unstable-small";
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
@ -30,10 +31,6 @@
|
||||
url = "git+https://git.t-juice.club/torjus/nixprstatus?ref=master";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
natstonotify = {
|
||||
url = "git+https://git.t-juice.club/torjus/natstonotify?ref=master";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs =
|
||||
@ -42,11 +39,11 @@
|
||||
nixpkgs,
|
||||
# nixpkgs-master,
|
||||
nixpkgs-stable,
|
||||
nixpkgs-small,
|
||||
nixprstatus,
|
||||
sops-nix,
|
||||
ghettoptt,
|
||||
huecli,
|
||||
natstonotify,
|
||||
nix-packages,
|
||||
...
|
||||
}@inputs:
|
||||
@ -59,6 +56,17 @@
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
};
|
||||
overlay-pyside6 =
|
||||
final: prev:
|
||||
let
|
||||
small = import nixpkgs-small {
|
||||
inherit system;
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
in
|
||||
{
|
||||
python312Packages = small.lib.warn "Using python312Packages from nixos-unstable-small #" small.python312Packages;
|
||||
};
|
||||
# overlay-master = final: prev: {
|
||||
# master = import nixpkgs-master {
|
||||
# inherit system;
|
||||
@ -76,11 +84,11 @@
|
||||
commonOverlays = [
|
||||
overlay-stable
|
||||
# overlay-master
|
||||
overlay-pyside6
|
||||
ghettoptt.overlays.default
|
||||
huecli.overlays.default
|
||||
nix-packages.overlays.default
|
||||
nixprstatus.overlays.default
|
||||
natstonotify.overlays.default
|
||||
];
|
||||
in
|
||||
{
|
||||
|
@ -40,8 +40,8 @@
|
||||
]))
|
||||
];
|
||||
extraLuaConfig = ''
|
||||
${builtins.readFile ./plugins.lua}
|
||||
${builtins.readFile ./options.lua}
|
||||
${builtins.readFile ./plugins.lua}
|
||||
${builtins.readFile ./keybinds.lua}
|
||||
'';
|
||||
};
|
||||
|
@ -11,8 +11,3 @@ vim.o.relativenumber = true
|
||||
vim.o.tabstop = 4
|
||||
vim.o.shiftwidth = 4
|
||||
vim.o.expandtab = true
|
||||
|
||||
vim.o.termguicolors = true
|
||||
|
||||
vim.o.list = true
|
||||
vim.o.listchars = 'tab:» ,trail:·,extends:»,precedes:«,nbsp:␣'
|
||||
|
@ -17,7 +17,7 @@ lsp_zero.format_on_save({
|
||||
['gopls'] = { 'go' },
|
||||
['nil_ls'] = { 'nix' },
|
||||
['lua_ls'] = { 'lua' },
|
||||
['ts_ls'] = { 'typescript', 'javascript', 'typescriptreact' },
|
||||
['ts_ls'] = { 'typescript', 'javascript' },
|
||||
},
|
||||
})
|
||||
-- LSP: go
|
||||
@ -120,7 +120,6 @@ lspconfig.ts_ls.setup({
|
||||
filetypes = {
|
||||
"typescript",
|
||||
"javascript",
|
||||
"typescriptreact",
|
||||
},
|
||||
})
|
||||
|
||||
@ -298,6 +297,6 @@ cmp.setup({
|
||||
|
||||
|
||||
-- Colorscheme
|
||||
require('catppuccin').setup {
|
||||
}
|
||||
require('catppuccin').setup({
|
||||
})
|
||||
vim.cmd.colorscheme "catppuccin"
|
||||
|
@ -31,7 +31,6 @@
|
||||
./scripts
|
||||
./services/backup-home.nix
|
||||
./services/ghettoptt.nix
|
||||
./services/natstonotify.nix
|
||||
./sops
|
||||
./ssh
|
||||
./zsh
|
||||
|
@ -1,33 +1,21 @@
|
||||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
lockhelper = pkgs.callPackage ../scripts/lockhelper.nix { };
|
||||
monitorTopDesc = "BNQ G2420HDBL T2B04424SL000";
|
||||
monitorTopName = "desc:${monitorTopDesc}";
|
||||
monitorTopHash = builtins.substring 0 8 (builtins.hashString "sha256" monitorTopDesc);
|
||||
|
||||
monitorLeftDesc = "Samsung Electric Company LS27A600U HNMT502389";
|
||||
monitorLeftName = "desc:${monitorLeftDesc}";
|
||||
monitorLeftHash = builtins.substring 0 8 (builtins.hashString "sha256" monitorLeftDesc);
|
||||
|
||||
monitorCenterDesc = "Acer Technologies XB271HU #ASPVEKfgZ8Dd";
|
||||
monitorCenterName = "desc:${monitorCenterDesc}";
|
||||
monitorCenterHash = builtins.substring 0 8 (builtins.hashString "sha256" monitorCenterDesc);
|
||||
|
||||
monitorRightDesc = "Samsung Electric Company LS27A600U HNMT502390";
|
||||
monitorRightName = "desc:${monitorRightDesc}";
|
||||
monitorRightHash = builtins.substring 0 8 (builtins.hashString "sha256" monitorRightDesc);
|
||||
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./hyprlock.nix
|
||||
./hypridle.nix
|
||||
];
|
||||
options.hyprland.enable = lib.mkEnableOption "Hyprland";
|
||||
config = {
|
||||
home.packages = with pkgs; [
|
||||
dunst
|
||||
# hyprlock
|
||||
hyprpaper
|
||||
rofi-wayland
|
||||
slurp
|
||||
swww
|
||||
@ -40,161 +28,29 @@ in
|
||||
libsForQt5.qt5ct
|
||||
];
|
||||
|
||||
services.hyprpaper = {
|
||||
enable = true;
|
||||
settings = {
|
||||
splash = false;
|
||||
};
|
||||
};
|
||||
services.hypridle = {
|
||||
enable = true;
|
||||
settings = {
|
||||
general = {
|
||||
lock_cmd = "${pkgs.hyprlock}/bin/hyprlock";
|
||||
before_sleep_cmd = "${lockhelper}/bin/lockhelper";
|
||||
ignore_dbus_inhibit = false;
|
||||
};
|
||||
listener = {
|
||||
timeout = 240;
|
||||
on-timeout = "${lockhelper}/bin/lockhelper";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs.hyprlock = {
|
||||
enable = true;
|
||||
settings = {
|
||||
background = [
|
||||
{
|
||||
monitor = monitorTopName;
|
||||
# path = "/tmp/lockscreen/${monitorTopHash}.png";
|
||||
path = "screenshot";
|
||||
color = "rgba(17, 17, 17, 1.0)";
|
||||
blur_passes = 3;
|
||||
contrast = 0.8916;
|
||||
brightness = 0.8172;
|
||||
vibrancy = 0.1696;
|
||||
vibrancy_darkness = 0.0;
|
||||
}
|
||||
{
|
||||
monitor = monitorLeftName;
|
||||
# path = "/tmp/lockscreen/${monitorLeftHash}.png";
|
||||
path = "screenshot";
|
||||
color = "rgba(17, 17, 17, 1.0)";
|
||||
blur_passes = 3;
|
||||
contrast = 0.8916;
|
||||
brightness = 0.8172;
|
||||
vibrancy = 0.1696;
|
||||
vibrancy_darkness = 0.0;
|
||||
zindex = 1;
|
||||
}
|
||||
{
|
||||
monitor = monitorCenterName;
|
||||
# path = "/tmp/lockscreen/${monitorCenterHash}.png";
|
||||
path = "screenshot";
|
||||
color = "rgba(17, 17, 17, 1.0)";
|
||||
blur_passes = 3;
|
||||
contrast = 0.8916;
|
||||
brightness = 0.8172;
|
||||
vibrancy = 0.1696;
|
||||
vibrancy_darkness = 0.0;
|
||||
}
|
||||
{
|
||||
monitor = monitorRightName;
|
||||
# path = "/tmp/lockscreen/${monitorRightHash}.png";
|
||||
path = "screenshot";
|
||||
color = "rgba(17, 17, 17, 1.0)";
|
||||
blur_passes = 3;
|
||||
contrast = 0.8916;
|
||||
brightness = 0.8172;
|
||||
vibrancy = 0.1696;
|
||||
vibrancy_darkness = 0.0;
|
||||
}
|
||||
];
|
||||
|
||||
general = {
|
||||
grace = 0;
|
||||
};
|
||||
|
||||
input-field = [
|
||||
{
|
||||
size = "250, 60";
|
||||
outline_thickness = 2;
|
||||
dots_size = 0.2;
|
||||
dots_spacing = 0.2;
|
||||
dots_center = true;
|
||||
outer_color = "rgba(0, 0, 0, 0)";
|
||||
inner_color = "rgba(0, 0, 0, 0.5)";
|
||||
font_color = "rgb(200, 200, 200)";
|
||||
fade_on_empty = false;
|
||||
font_family = "JetBrains Mono Nerd Font Mono";
|
||||
placeholder_text = "<i><span foreground=\"##cdd6f4\">Input Password...</span></i>";
|
||||
hide_input = false;
|
||||
position = "0, -120";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
];
|
||||
|
||||
label = [
|
||||
{
|
||||
text = "cmd[update:2000] echo \"$(date +\"%b %d %H:%M\")\"";
|
||||
color = "rgba(255, 255, 255, 0.6)";
|
||||
font_size = 120;
|
||||
font_family = "JetBrains Mono Nerd Font Mono ExtraBold";
|
||||
position = "0, -300";
|
||||
halign = "center";
|
||||
valign = "top";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
# streamcontroller service
|
||||
systemd.user.services = {
|
||||
streamcontroller = {
|
||||
Unit = {
|
||||
Description = "Streamcontroller service";
|
||||
PartOf = [ "graphical-session.target" ];
|
||||
After = [ "graphical-session.target" ];
|
||||
Requisite = [ "graphical-session.target" ];
|
||||
};
|
||||
|
||||
Service = {
|
||||
ExecStart = "${pkgs.streamcontroller}/bin/streamcontroller -b";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
|
||||
Install = {
|
||||
WantedBy = [ "graphical-session.target" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
package = pkgs.hyprland;
|
||||
systemd.enable = false;
|
||||
settings = {
|
||||
"$mainMod" = "SUPER";
|
||||
"$shiftMainMod" = "SUPER_SHIFT";
|
||||
"$term" = "kitty";
|
||||
|
||||
# monitors
|
||||
"$mon_top" = monitorTopName;
|
||||
"$mon_left" = monitorLeftName;
|
||||
"$mon_center" = monitorCenterName;
|
||||
"$mon_right" = monitorRightName;
|
||||
"$mon_top" = "desc:BNQ G2420HDBL T2B04424SL000";
|
||||
"$mon_left" = "desc:Samsung Electric Company LS27A600U HNMT502389";
|
||||
"$mon_center" = "desc:Acer Technologies XB271HU #ASPVEKfgZ8Dd";
|
||||
"$mon_right" = "desc:Samsung Electric Company LS27A600U HNMT502390";
|
||||
|
||||
monitor = [
|
||||
"$mon_top,1920x1080@60,2560x0,1" # top T2B04424SL000
|
||||
# "DP-8,1920x1080@60,2560x0,1" # top T2B04424SL000 60
|
||||
"$mon_left,2560x1440@75,0x1080,1" # left
|
||||
# "DP-6,2560x1440@75,0x1080,1" # left 75hz
|
||||
"$mon_center,2560x1440@120,2560x1080,1" # main #ASPVEKfgZ8Dd
|
||||
# "DP-4,2560x1440@144,2560x1080,1" # main #ASPVEKfgZ8Dd 120hz
|
||||
"$mon_right,2560x1440@75,5120x1080,1" # right
|
||||
# "DP-7,2560x1440@75,5120x1080,1" # right 75hz
|
||||
# "$mon_top,1920x1080@60,2560x0,1" # top T2B04424SL000
|
||||
"DP-6,1920x1080@60,2560x0,1" # top T2B04424SL000 60
|
||||
# "$mon_left,2560x1440@75,0x1080,1" # left
|
||||
"DP-8,2560x1440@75,0x1080,1" # left 75hz
|
||||
# "$mon_center,2560x1440@120,2560x1080,1" # main #ASPVEKfgZ8Dd
|
||||
"DP-5,2560x1440@144,2560x1080,1" # main #ASPVEKfgZ8Dd 120hz
|
||||
# "$mon_right,2560x1440@75,5120x1080,1" # right
|
||||
"DP-7,2560x1440@75,5120x1080,1" # right 75hz
|
||||
];
|
||||
input = {
|
||||
kb_layout = "no";
|
||||
@ -215,6 +71,9 @@ in
|
||||
|
||||
decoration = {
|
||||
rounding = 10;
|
||||
drop_shadow = true;
|
||||
shadow_range = 4;
|
||||
shadow_render_power = 3;
|
||||
blur = {
|
||||
enabled = true;
|
||||
size = 3;
|
||||
@ -295,7 +154,7 @@ in
|
||||
"$mainMod,Return,exec,$term"
|
||||
|
||||
# hyprlock
|
||||
"$shiftMainMod,l,exec,${lockhelper}/bin/lockhelper"
|
||||
"$shiftMainMod,l,exec,lockhelper"
|
||||
|
||||
# rofi
|
||||
"$mainMod,D,exec,rofi-launcher"
|
||||
@ -358,6 +217,12 @@ in
|
||||
];
|
||||
|
||||
exec-once = [
|
||||
"waybar"
|
||||
"hyprpaper & sleep 10 && randomwp"
|
||||
"easyeffects --gapplication-service"
|
||||
"hypridle"
|
||||
"streamcontroller -b"
|
||||
# "dunst"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
@ -1,9 +1,15 @@
|
||||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
./hyprlock.nix
|
||||
./hypridle.nix
|
||||
];
|
||||
options.hyprland.enable = lib.mkEnableOption "Hyprland";
|
||||
config = {
|
||||
home.packages = with pkgs; [
|
||||
@ -22,82 +28,6 @@
|
||||
libsForQt5.qt5ct
|
||||
];
|
||||
|
||||
services.hyprpaper = {
|
||||
enable = true;
|
||||
settings = {
|
||||
splash = false;
|
||||
};
|
||||
};
|
||||
|
||||
services.hypridle = {
|
||||
enable = true;
|
||||
settings = {
|
||||
general = {
|
||||
lock_cmd = "${pkgs.hyprlock}/bin/hyprlock";
|
||||
before_sleep_cmd = "${pkgs.hyprlock}/bin/hyprlock";
|
||||
ignore_dbus_inhibit = false;
|
||||
};
|
||||
listener = {
|
||||
timeout = 240;
|
||||
on-timeout = "${pkgs.hyprlock}/bin/hyprlock";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs.hyprlock = {
|
||||
enable = true;
|
||||
settings = {
|
||||
background = [
|
||||
{
|
||||
monitor = "";
|
||||
path = "screenshot";
|
||||
color = "rgba(17, 17, 17, 1.0)";
|
||||
blur_passes = 3;
|
||||
contrast = 0.8916;
|
||||
brightness = 0.8172;
|
||||
vibrancy = 0.1696;
|
||||
vibrancy_darkness = 0.0;
|
||||
}
|
||||
];
|
||||
|
||||
general = {
|
||||
grace = 0;
|
||||
};
|
||||
|
||||
input-field = [
|
||||
{
|
||||
size = "250, 60";
|
||||
outline_thickness = 2;
|
||||
dots_size = 0.2;
|
||||
dots_spacing = 0.2;
|
||||
dots_center = true;
|
||||
outer_color = "rgba(0, 0, 0, 0)";
|
||||
inner_color = "rgba(0, 0, 0, 0.5)";
|
||||
font_color = "rgb(200, 200, 200)";
|
||||
fade_on_empty = false;
|
||||
font_family = "JetBrains Mono Nerd Font Mono";
|
||||
placeholder_text = "<i><span foreground=\"##cdd6f4\">Input Password...</span></i>";
|
||||
hide_input = false;
|
||||
position = "0, -120";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
];
|
||||
|
||||
label = [
|
||||
{
|
||||
text = "cmd[update:2000] echo \"$(date +\"%b %d %H:%M\")\"";
|
||||
color = "rgba(255, 255, 255, 0.6)";
|
||||
font_size = 120;
|
||||
font_family = "JetBrains Mono Nerd Font Mono ExtraBold";
|
||||
position = "0, -300";
|
||||
halign = "center";
|
||||
valign = "top";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
package = pkgs.hyprland;
|
||||
@ -116,6 +46,9 @@
|
||||
|
||||
decoration = {
|
||||
rounding = 10;
|
||||
drop_shadow = true;
|
||||
shadow_range = 4;
|
||||
shadow_render_power = 3;
|
||||
blur = {
|
||||
enabled = true;
|
||||
size = 3;
|
||||
@ -166,12 +99,13 @@
|
||||
"special:special, on-created-empty:kitty, rounding:true, decorate:false, border:false"
|
||||
];
|
||||
|
||||
bindm = [
|
||||
"$mainMod,mouse:272,movewindow"
|
||||
"$shiftMainMod,mouse:272,resizewindow"
|
||||
];
|
||||
bindm = [ "ALT,mouse:272,movewindow" ];
|
||||
|
||||
bindr = [
|
||||
# mumble ptt release
|
||||
# ",code:202,exec,mumble rpc stoptalking"
|
||||
# ",code:202,exec,pamixer --source 63 -m"
|
||||
# ",code:202,exec,sleep 0.5 && pamixer --default-source -m"
|
||||
];
|
||||
|
||||
bind = [
|
||||
@ -183,7 +117,7 @@
|
||||
"$mainMod,P,exec,rofi-rbw"
|
||||
|
||||
# hyprlock
|
||||
"$shiftMainMod,l,exec,${pkgs.hyprlock}/bin/hyprlock"
|
||||
"$shiftMainMod,l,exec,lockhelper"
|
||||
|
||||
# hyprland
|
||||
"$mainMod,Q,killactive,"
|
||||
@ -206,6 +140,12 @@
|
||||
# Force opacity
|
||||
"$shiftMainMod,o,exec, hl-no-opacity"
|
||||
|
||||
# mumble ptt click
|
||||
# ",code:202,exec,mumble rpc starttalking"
|
||||
#",code:202,pass,^(info\.mumble\.Mumble)$"
|
||||
# ",code:202,exec,pamixer --default-source -u"
|
||||
# ",code:202,pass,^discord$"
|
||||
|
||||
# worspace switching
|
||||
"$mainMod,1,workspace,1"
|
||||
"$mainMod,2,workspace,2"
|
||||
@ -220,6 +160,10 @@
|
||||
];
|
||||
|
||||
exec-once = [
|
||||
"waybar"
|
||||
"hyprpaper & sleep 2 && randomwp"
|
||||
"hypridle"
|
||||
# "dunst"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
@ -6,7 +6,6 @@ from datetime import datetime, date, timedelta
|
||||
|
||||
SECRET_DIR = "/home/torjus/.config/sops-nix/secrets"
|
||||
|
||||
|
||||
def sonarr_url():
|
||||
xdg_dir = os.environ["XDG_RUNTIME_DIR"]
|
||||
if not xdg_dir:
|
||||
@ -14,31 +13,26 @@ def sonarr_url():
|
||||
with open(f"{SECRET_DIR}/sonarr_base_url") as f:
|
||||
return f.read().strip()
|
||||
|
||||
|
||||
def radarr_url():
|
||||
with open(f"{SECRET_DIR}/radarr_base_url") as f:
|
||||
return f.read().strip()
|
||||
|
||||
|
||||
def make_header(api_key: str):
|
||||
return {"X-Api-Key": api_key, "Accept": "application/json"}
|
||||
|
||||
|
||||
def get_sonarr_key():
|
||||
with open(f"{SECRET_DIR}/sonarr_api_key") as f:
|
||||
return f.read().strip()
|
||||
|
||||
|
||||
def get_radarr_key():
|
||||
with open(f"{SECRET_DIR}/radarr_api_key") as f:
|
||||
return f.read().strip()
|
||||
|
||||
|
||||
def get_sonarr_history(since: datetime | None = None):
|
||||
def get_sonarr_history(since: datetime|None=None):
|
||||
api_key = get_sonarr_key()
|
||||
if not since:
|
||||
since = datetime.combine(date.today() - timedelta(days=1), datetime.min.time())
|
||||
url = f"{sonarr_url()}/api/v3/history/since"
|
||||
since = datetime.combine(date.today()-timedelta(days=1),datetime.min.time())
|
||||
url = f"{sonarr_url()}/api/history/since"
|
||||
url += f"?date={since.isoformat()}"
|
||||
response = requests.get(url, headers=make_header(api_key))
|
||||
response.raise_for_status()
|
||||
@ -50,11 +44,10 @@ def get_sonarr_history(since: datetime | None = None):
|
||||
items.append(item["sourceTitle"])
|
||||
return items
|
||||
|
||||
|
||||
def get_radarr_history(since: datetime | None = None):
|
||||
def get_radarr_history(since: datetime|None=None):
|
||||
api_key = get_radarr_key()
|
||||
if not since:
|
||||
since = datetime.combine(date.today() - timedelta(days=7), datetime.min.time())
|
||||
since = datetime.combine(date.today()-timedelta(days=7),datetime.min.time())
|
||||
url = f"{radarr_url()}/api/v3/history/since"
|
||||
url += f"?date={since.isoformat()}"
|
||||
response = requests.get(url, headers=make_header(api_key))
|
||||
@ -67,17 +60,12 @@ def get_radarr_history(since: datetime | None = None):
|
||||
items.append(item["sourceTitle"])
|
||||
return items
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
sonarr_items = get_sonarr_history()
|
||||
radarr_items = get_radarr_history()
|
||||
|
||||
output = {
|
||||
"text": f"Son: {len(sonarr_items)}|Rad: {len(radarr_items)}",
|
||||
"tooltip": "Radarr: \n"
|
||||
+ "\n".join(radarr_items)
|
||||
+ "\n"
|
||||
+ "Sonarr: \n"
|
||||
+ "\n".join(sonarr_items),
|
||||
"tooltip": "Radarr: \n" + "\n".join(radarr_items) + "\n" + "Sonarr: \n" + "\n".join(sonarr_items)
|
||||
}
|
||||
print(json.dumps(output))
|
||||
|
@ -45,7 +45,7 @@ in
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
systemd = {
|
||||
enable = true; # disable it,autostart it in hyprland conf
|
||||
enable = false; # disable it,autostart it in hyprland conf
|
||||
target = "graphical-session.target";
|
||||
};
|
||||
style = ''
|
||||
|
@ -27,6 +27,7 @@
|
||||
./programs/obs-studio
|
||||
./programs/vscode
|
||||
./programs/pywal
|
||||
./programs/zellij
|
||||
./scripts
|
||||
./scripts/batlvl.nix
|
||||
./zsh
|
||||
|
@ -5,16 +5,13 @@ in
|
||||
{
|
||||
imports = [
|
||||
./zoom.nix
|
||||
./tacl.nix
|
||||
];
|
||||
home.packages = with pkgs; [
|
||||
# CLI utils
|
||||
act
|
||||
age
|
||||
aichat
|
||||
bat
|
||||
bzip2
|
||||
chromium
|
||||
croc
|
||||
devenv
|
||||
distrobox
|
||||
@ -29,8 +26,6 @@ in
|
||||
grimblast
|
||||
ijq
|
||||
incus
|
||||
jellyfin-media-player
|
||||
jujutsu
|
||||
jq
|
||||
kitty
|
||||
kubectl
|
||||
@ -48,14 +43,13 @@ in
|
||||
rbw
|
||||
restic
|
||||
ripgrep
|
||||
sidequest
|
||||
sops
|
||||
sshfs
|
||||
step-cli
|
||||
tea
|
||||
tldr
|
||||
tokei
|
||||
unzip
|
||||
ventoy
|
||||
wtype
|
||||
|
||||
# Non-CLI stuff
|
||||
@ -114,21 +108,11 @@ in
|
||||
# Stuff with overrides
|
||||
# Btop
|
||||
(btop.override { cudaSupport = withCuda; })
|
||||
(hashcat.override { cudaSupport = withCuda; })
|
||||
# PrismLauncher
|
||||
prismlauncher
|
||||
|
||||
(pkgs.linkFarm "logcli" [
|
||||
{
|
||||
name = "bin/logcli";
|
||||
path = "${pkgs.grafana-loki}/bin/logcli";
|
||||
}
|
||||
])
|
||||
(lutris.override {
|
||||
extraLibraries = pkgs: [
|
||||
nspr
|
||||
xorg.libXdamage
|
||||
];
|
||||
})
|
||||
# From nix-packages flake
|
||||
path-of-building-beta
|
||||
awakened-poe-trade
|
||||
];
|
||||
}
|
||||
|
@ -1,30 +0,0 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [
|
||||
(pkgs.python3Packages.buildPythonApplication rec {
|
||||
pname = "tacl";
|
||||
version = "3.9.0";
|
||||
pyproject = true;
|
||||
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "unioslo";
|
||||
repo = "tsd-api-client";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-R8fSAhpdjspIoLy3m6NnHZBCBTSLQGWOqAiDkBZlWOc=";
|
||||
};
|
||||
|
||||
build-system = with pkgs.python3Packages; [
|
||||
poetry-core
|
||||
poetry-dynamic-versioning
|
||||
];
|
||||
dependencies = with pkgs.python3Packages; [
|
||||
pyyaml
|
||||
click
|
||||
humanfriendly
|
||||
libnacl
|
||||
requests
|
||||
rich
|
||||
];
|
||||
})
|
||||
];
|
||||
}
|
@ -1,108 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
makeWrapper,
|
||||
makeDesktopItem,
|
||||
copyDesktopItems,
|
||||
xorg,
|
||||
gtk2,
|
||||
sqlite,
|
||||
openal,
|
||||
cairo,
|
||||
libGLU,
|
||||
SDL2,
|
||||
freealut,
|
||||
libglvnd,
|
||||
pipewire,
|
||||
libpulseaudio,
|
||||
dotnet-runtime_8,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "vintagestory";
|
||||
version = "1.20.0-rc.8";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://cdn.vintagestory.at/gamefiles/unstable/vs_client_linux-x64_${version}.tar.gz";
|
||||
hash = "sha256-/MPR6PAkZv93zT6YbJatg67aRYfzp9vFRY82gtVksAs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
copyDesktopItems
|
||||
];
|
||||
|
||||
buildInputs = [ dotnet-runtime_8 ];
|
||||
|
||||
runtimeLibs = lib.makeLibraryPath (
|
||||
[
|
||||
gtk2
|
||||
sqlite
|
||||
openal
|
||||
cairo
|
||||
libGLU
|
||||
SDL2
|
||||
freealut
|
||||
libglvnd
|
||||
pipewire
|
||||
libpulseaudio
|
||||
]
|
||||
++ (with xorg; [
|
||||
libX11
|
||||
libXi
|
||||
libXcursor
|
||||
])
|
||||
);
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = "vintagestory";
|
||||
desktopName = "Vintage Story";
|
||||
exec = "vintagestory";
|
||||
icon = "vintagestory";
|
||||
comment = "Innovate and explore in a sandbox world";
|
||||
categories = [ "Game" ];
|
||||
})
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/share/vintagestory $out/bin $out/share/pixmaps $out/share/fonts/truetype
|
||||
cp -r * $out/share/vintagestory
|
||||
cp $out/share/vintagestory/assets/gameicon.xpm $out/share/pixmaps/vintagestory.xpm
|
||||
cp $out/share/vintagestory/assets/game/fonts/*.ttf $out/share/fonts/truetype
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
preFixup =
|
||||
''
|
||||
sed -i 's/net7.0/net8.0/' $out/share/vintagestory/Vintagestory.runtimeconfig.json
|
||||
sed -i 's/7.0.0/8.0.11/' $out/share/vintagestory/Vintagestory.runtimeconfig.json
|
||||
|
||||
makeWrapper ${dotnet-runtime_8}/bin/dotnet $out/bin/vintagestory \
|
||||
--prefix LD_LIBRARY_PATH : "${runtimeLibs}" \
|
||||
--add-flags $out/share/vintagestory/Vintagestory.dll
|
||||
makeWrapper ${dotnet-runtime_8}/bin/dotnet $out/bin/vintagestory-server \
|
||||
--prefix LD_LIBRARY_PATH : "${runtimeLibs}" \
|
||||
--add-flags $out/share/vintagestory/VintagestoryServer.dll
|
||||
''
|
||||
+ ''
|
||||
find "$out/share/vintagestory/assets/" -not -path "*/fonts/*" -regex ".*/.*[A-Z].*" | while read -r file; do
|
||||
local filename="$(basename -- "$file")"
|
||||
ln -sf "$filename" "''${file%/*}"/"''${filename,,}"
|
||||
done
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "In-development indie sandbox game about innovation and exploration";
|
||||
homepage = "https://www.vintagestory.at/";
|
||||
license = licenses.unfree;
|
||||
maintainers = with maintainers; [
|
||||
artturin
|
||||
gigglesquid
|
||||
];
|
||||
};
|
||||
}
|
@ -1,17 +1,16 @@
|
||||
{ pkgs, lib, ... }:
|
||||
# let
|
||||
# version = "6.2.6.2503";
|
||||
# zoom-override = pkgs.zoom-us.overrideAttrs (old: {
|
||||
# inherit version;
|
||||
# src = pkgs.fetchurl {
|
||||
# url = "https://zoom.us/client/${version}/zoom_x86_64.pkg.tar.xz";
|
||||
# hash = "sha256-qhymegXkXSl9fK/5klSi5uRPwFVN88QH/5EVGaBUbfc=";
|
||||
# };
|
||||
# });
|
||||
# in
|
||||
let
|
||||
version = "6.2.6.2503";
|
||||
zoom-override = pkgs.zoom-us.overrideAttrs (old: {
|
||||
inherit version;
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://zoom.us/client/${version}/zoom_x86_64.pkg.tar.xz";
|
||||
hash = "sha256-qhymegXkXSl9fK/5klSi5uRPwFVN88QH/5EVGaBUbfc=";
|
||||
};
|
||||
});
|
||||
in
|
||||
{
|
||||
home.packages = [
|
||||
pkgs.zoom-us
|
||||
#(lib.warn "Using overridden zoom version" zoom-override)
|
||||
(lib.warn "Using overridden zoom version" zoom-override)
|
||||
];
|
||||
}
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
@ -12,12 +14,13 @@
|
||||
};
|
||||
settings = {
|
||||
global = {
|
||||
rounded = "yes";
|
||||
origin = "top-right";
|
||||
monitor = "4";
|
||||
alignment = "left";
|
||||
vertical_alignment = "center";
|
||||
width = "(0, 400)";
|
||||
height = "(0, 400)";
|
||||
width = "400";
|
||||
height = "400";
|
||||
scale = 0;
|
||||
gap_size = 0;
|
||||
progress_bar = true;
|
||||
@ -41,7 +44,7 @@
|
||||
format = "<b>%s</b>\\n%b"; # format = "<span foreground='#f3f4f5'><b>%s %p</b></span>\n%b"
|
||||
frame_color = "#232323";
|
||||
frame_width = 1;
|
||||
offset = "(15, 15)";
|
||||
offset = "15x15";
|
||||
horizontal_padding = 10;
|
||||
icon_position = "left";
|
||||
indicate_hidden = "yes";
|
||||
@ -51,6 +54,7 @@
|
||||
mouse_middle_click = "close_current";
|
||||
mouse_right_click = "close_all";
|
||||
padding = 10;
|
||||
plain_text = "no";
|
||||
separator_height = 2;
|
||||
show_indicators = "yes";
|
||||
shrink = "no";
|
||||
|
@ -7,7 +7,11 @@
|
||||
let
|
||||
withCuda = osConfig.system.name == "gunter";
|
||||
|
||||
onnxruntime-gpu = (pkgs.onnxruntime.override { cudaSupport = withCuda; });
|
||||
onnxruntime-gpu = (pkgs.onnxruntime.override { cudaSupport = withCuda; }).overrideAttrs (old: {
|
||||
# TODO: Remove when fixed in nixpkgs
|
||||
# https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/development/libraries/onnxruntime/default.nix#L154
|
||||
buildInputs = old.buildInputs ++ [ pkgs.cudaPackages.nccl ];
|
||||
});
|
||||
|
||||
obs-backgrounremoval-gpu = (
|
||||
(pkgs.obs-studio-plugins.obs-backgroundremoval.override { onnxruntime = onnxruntime-gpu; })
|
||||
@ -31,9 +35,6 @@ in
|
||||
{
|
||||
programs.obs-studio = {
|
||||
enable = true;
|
||||
package = pkgs.obs-studio.override {
|
||||
cudaSupport = withCuda;
|
||||
};
|
||||
plugins =
|
||||
with pkgs.obs-studio-plugins;
|
||||
[
|
||||
|
@ -2,28 +2,19 @@
|
||||
{
|
||||
programs.vscode = {
|
||||
enable = true;
|
||||
profiles.default = {
|
||||
enableUpdateCheck = true;
|
||||
enableExtensionUpdateCheck = true;
|
||||
userSettings = {
|
||||
"window.titleBarStyle" = "custom";
|
||||
"rust-analyzer.testExplorer" = true;
|
||||
"rust-analyzer.restartServerOnConfigChange" = true;
|
||||
"direnv.restart.automatic" = true;
|
||||
};
|
||||
extensions = with pkgs.vscode-extensions; [
|
||||
catppuccin.catppuccin-vsc
|
||||
catppuccin.catppuccin-vsc-icons
|
||||
github.copilot
|
||||
github.copilot-chat
|
||||
golang.go
|
||||
vscodevim.vim
|
||||
ms-python.python
|
||||
ms-vscode-remote.remote-ssh
|
||||
bbenoist.nix
|
||||
mkhl.direnv
|
||||
rust-lang.rust-analyzer
|
||||
];
|
||||
userSettings = {
|
||||
"window.titleBarStyle" = "custom";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -1,8 +1,6 @@
|
||||
{ pkgs, config, ... }:
|
||||
{
|
||||
imports = [
|
||||
./noita-helper.nix
|
||||
];
|
||||
imports = [ ./lockhelper.nix ];
|
||||
home.file.".local/bin/hl-no-opacity" = {
|
||||
source = ./hl-no-opacity.sh;
|
||||
executable = true;
|
||||
|
@ -1,21 +1,14 @@
|
||||
{
|
||||
writeShellApplication,
|
||||
grim,
|
||||
jq,
|
||||
gawk,
|
||||
hyprland,
|
||||
hyprlock,
|
||||
procps,
|
||||
}:
|
||||
writeShellApplication {
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
lockhelper = pkgs.writeShellApplication {
|
||||
name = "lockhelper";
|
||||
runtimeInputs = [
|
||||
runtimeInputs = with pkgs; [
|
||||
grim
|
||||
jq
|
||||
gawk
|
||||
hyprland
|
||||
hyprlock
|
||||
procps
|
||||
];
|
||||
text = (builtins.readFile ./lockhelper.sh);
|
||||
};
|
||||
in
|
||||
{
|
||||
home.packages = [ lockhelper ];
|
||||
}
|
||||
|
@ -3,14 +3,11 @@ set -eo pipefail
|
||||
|
||||
mkdir -p /tmp/lockscreen || true
|
||||
|
||||
monitor_lines=$(hyprctl monitors -j | jq -r '.[] | select (.name | contains ("DP")) | [.name, .description]| @tsv')
|
||||
monitors=$(hyprctl monitors -j | jq -r '.[] | select( .name | contains ("DP")) | .name')
|
||||
|
||||
while IFS= read -r m; do
|
||||
name=$(echo "$m" | awk -F $'\t' '{print $1}')
|
||||
sum=$(echo "$m" | awk -F $'\t' '{printf $2}' | sha256sum | awk '{print substr($1,1,8)}')
|
||||
|
||||
grim -o "$name" "/tmp/lockscreen/$sum.png" || true
|
||||
done <<< "$monitor_lines"
|
||||
grim -o "$m" "/tmp/lockscreen/$m.png" || true
|
||||
done <<< "$monitors"
|
||||
|
||||
# Only lock if not already running
|
||||
if [ -z "$(pgrep hyprlock)" ]
|
||||
|
@ -1,14 +0,0 @@
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
noita-helper = pkgs.writeShellApplication {
|
||||
name = "noita-helper";
|
||||
runtimeInputs = with pkgs; [
|
||||
grim
|
||||
jq
|
||||
];
|
||||
text = (builtins.readFile ./noita-helper.sh);
|
||||
};
|
||||
in
|
||||
{
|
||||
home.packages = [ noita-helper ];
|
||||
}
|
@ -1,50 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
SAVE_DIR="/home/torjus/.local/share/Steam/steamapps/compatdata/881100/pfx/drive_c/users/steamuser/AppData/LocalLow/Nolla_Games_Noita"
|
||||
|
||||
RESTIC_REPOSITORY="/home/$(whoami)/tmp/noita-backup"
|
||||
export RESTIC_REPOSITORY
|
||||
export RESTIC_PASSWORD="noita"
|
||||
|
||||
function start {
|
||||
echo "Doing initial backup"
|
||||
restic backup -q "$SAVE_DIR"
|
||||
echo "Backup done"
|
||||
|
||||
echo "Mounting tmpfs for save folder..."
|
||||
sudo mount -o size=2G,noswap -t tmpfs none "$SAVE_DIR"
|
||||
|
||||
echo "Restoring initial backup..."
|
||||
restic restore "latest:$SAVE_DIR" --target "$SAVE_DIR"
|
||||
|
||||
echo "Ready to play Noita!"
|
||||
echo "Remember to run $0 stop when done."
|
||||
|
||||
while true
|
||||
do
|
||||
restic backup -q "$SAVE_DIR"
|
||||
echo "Periodic backup done..."
|
||||
sleep 10m
|
||||
done
|
||||
}
|
||||
|
||||
function stop {
|
||||
restic backup -q $SAVE_DIR
|
||||
sudo umount $SAVE_DIR
|
||||
restic restore latest:$SAVE_DIR --target $SAVE_DIR
|
||||
echo "Backup and unmount done..."
|
||||
}
|
||||
|
||||
if [ "$#" -ne 1 ]; then
|
||||
echo "Usage: $0 {start|stop}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$1" == "start" ]; then
|
||||
start
|
||||
elif [ "$1" == "stop" ]; then
|
||||
stop
|
||||
else
|
||||
echo "Usage: $0 {start|stop}"
|
||||
exit 1
|
||||
fi
|
@ -26,6 +26,11 @@ if [ -z "$wallpaper_path" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! command -v hyprpaper &> /dev/null; then
|
||||
echo "Could not find hyprpaper command"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "setting $wallpaper_path as wallpaper"
|
||||
hyprctl hyprpaper unload all
|
||||
hyprctl hyprpaper preload "$wallpaper_path"
|
||||
|
@ -44,7 +44,6 @@ let
|
||||
--exclude '/home/torjus/.npm' \
|
||||
--exclude '/home/torjus/.factorio/mods' \
|
||||
--exclude '/home/torjus/.zoom' \
|
||||
--exclude '/home/torjus/Games' \
|
||||
--exclude '/home/torjus/git/nixpkgs'
|
||||
retval=$?
|
||||
if [ $retval -ne 0 ]; then
|
||||
|
@ -1,21 +0,0 @@
|
||||
{ pkgs, config, ... }:
|
||||
{
|
||||
sops.secrets."nats_nkey" = { };
|
||||
systemd.user.services.natstonotify = {
|
||||
Unit = {
|
||||
Description = "Run natstonotify";
|
||||
After = [ "sops-nix.service" ];
|
||||
};
|
||||
Service = {
|
||||
Environment = [
|
||||
"NATS_URL=nats://nats1.home.2rjus.net:4222"
|
||||
"NATS_NKEY_FILE=${config.sops.secrets.nats_nkey.path}"
|
||||
];
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.natstonotify}/bin/natstonotify server";
|
||||
};
|
||||
Install = {
|
||||
WantedBy = [ "graphical-session.target" ];
|
||||
};
|
||||
};
|
||||
}
|
@ -19,7 +19,6 @@ in
|
||||
programs.ssh = {
|
||||
enable = true;
|
||||
controlMaster = "auto";
|
||||
serverAliveInterval = 30;
|
||||
|
||||
matchBlocks = {
|
||||
"bmo.uio.no-on-eduroam" = (
|
||||
@ -42,6 +41,4 @@ in
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.ssh-agent.enable = true;
|
||||
}
|
||||
|
@ -24,7 +24,7 @@
|
||||
nrebuild = "sudo nixos-rebuild switch --flake /home/${user}/nixos";
|
||||
ndiffbuild = "sudo nixos-rebuild build --flake /home/${user}/nixos && nvd diff /run/current-system /home/${user}/nixos/result";
|
||||
};
|
||||
initContent = ''
|
||||
initExtra = ''
|
||||
bindkey -v
|
||||
bindkey '^R' history-incremental-search-backward
|
||||
|
||||
@ -33,8 +33,6 @@
|
||||
promptinit
|
||||
prompt pure
|
||||
export PATH="''${KREW_ROOT:-$HOME/.krew}/bin:$PATH"
|
||||
export MANPAGER="nvim +Man!"
|
||||
export LOKI_ADDR="http://monitoring01:3100"
|
||||
|
||||
# Aliases
|
||||
alias ls=eza
|
||||
|
@ -1,4 +0,0 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
programs.alvr.enable = true;
|
||||
}
|
@ -9,7 +9,7 @@
|
||||
{
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
../../system/monitoring
|
||||
../../system/monitoring.nix
|
||||
];
|
||||
|
||||
# Sops stuff
|
||||
@ -24,8 +24,9 @@
|
||||
# Bootloader stuff
|
||||
boot = {
|
||||
# Kernel stuff
|
||||
# kernelPackages = pkgs.linuxPackages_latest;
|
||||
kernelPackages = lib.warn "Pinned to kernel 6.14 due to nvidia issues" pkgs.linuxPackages_6_14;
|
||||
# kernelPackages = pkgs.linuxPackages_xanmod_latest;
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
# kernelPackages = lib.warn "Pinned to kernel 6.10 due to nvidia fbdev trouble!" pkgs.linuxPackages_6_10;
|
||||
kernelParams = [
|
||||
"quiet"
|
||||
"splash"
|
||||
@ -53,9 +54,6 @@
|
||||
networking.nftables.enable = true;
|
||||
networking.firewall = {
|
||||
enable = true;
|
||||
allowedTCPPorts = [
|
||||
8989
|
||||
];
|
||||
};
|
||||
|
||||
# Set time stuff
|
||||
@ -97,13 +95,14 @@
|
||||
# };
|
||||
# })
|
||||
# ];
|
||||
services.displayManager.gdm.wayland = true;
|
||||
|
||||
services.xserver.enable = true;
|
||||
services.xserver.videoDrivers = [ "nvidia" ];
|
||||
services.xserver.displayManager.gdm.wayland = true;
|
||||
services.xserver.displayManager.lightdm.enable = false;
|
||||
services.xserver.displayManager.startx.enable = true;
|
||||
services.xserver.windowManager.i3.enable = true;
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
withUWSM = true;
|
||||
xwayland.enable = true;
|
||||
portalPackage = pkgs.xdg-desktop-portal-hyprland;
|
||||
};
|
||||
@ -141,19 +140,8 @@
|
||||
"root"
|
||||
"torjus"
|
||||
];
|
||||
trusted-substituters = [
|
||||
"https://nix-cache.home.2rjus.net"
|
||||
"https://cache.nixos.org"
|
||||
"https://cuda-maintainers.cachix.org"
|
||||
];
|
||||
substituters = [
|
||||
"https://nix-cache.home.2rjus.net"
|
||||
"https://cache.nixos.org"
|
||||
"https://cuda-maintainers.cachix.org"
|
||||
];
|
||||
substituters = [ "https://cuda-maintainers.cachix.org" ];
|
||||
trusted-public-keys = [
|
||||
"nix-cache.home.2rjus.net-1:2kowZOG6pvhoK4AHVO3alBlvcghH20wchzoR0V86UWI="
|
||||
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
||||
"cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E="
|
||||
];
|
||||
};
|
||||
@ -178,7 +166,6 @@
|
||||
# xorg.xf86inputlibinput
|
||||
# xorg.xinit
|
||||
];
|
||||
services.udev.packages = [ pkgs.android-udev-rules ];
|
||||
|
||||
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
|
||||
# and migrated your data accordingly.
|
||||
|
@ -12,8 +12,6 @@
|
||||
./nfs.nix
|
||||
./ollama.nix
|
||||
./streamdeck.nix
|
||||
./alvr.nix
|
||||
./ratbagd.nix
|
||||
../../system
|
||||
../../home/gunter.nix
|
||||
];
|
||||
|
@ -25,20 +25,7 @@
|
||||
"kvm-amd"
|
||||
"v4l2loopback"
|
||||
];
|
||||
boot.extraModulePackages = with config.boot.kernelPackages; [
|
||||
(v4l2loopback.overrideAttrs ({
|
||||
version = lib.warn "v4l2loopback pinned due to obs issue. Fixed in >31.0.3 of obs-studio" "0.13.2-manual-${kernel.version}";
|
||||
|
||||
src = (
|
||||
pkgs.fetchFromGitHub {
|
||||
owner = "umlaeute";
|
||||
repo = "v4l2loopback";
|
||||
rev = "v0.13.2";
|
||||
hash = "sha256-rcwgOXnhRPTmNKUppupfe/2qNUBDUqVb3TeDbrP5pnU=";
|
||||
}
|
||||
);
|
||||
}))
|
||||
];
|
||||
boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
|
||||
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/a7d4b697-fffa-4bcb-9dd7-cbbd6121a50c";
|
||||
|
@ -1,20 +0,0 @@
|
||||
{ ... }:
|
||||
{
|
||||
services.hostapd = {
|
||||
enable = true;
|
||||
radios = {
|
||||
wlp13s0 = {
|
||||
countryCode = "NO";
|
||||
wifi6.enable = true;
|
||||
networks.wlp13s0 = {
|
||||
ssid = "TESTLOL";
|
||||
band = "5g";
|
||||
authentication = {
|
||||
wpaPassword = "lol passord";
|
||||
mode = "wpa2-sha256";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
@ -6,11 +6,7 @@
|
||||
};
|
||||
services.open-webui = {
|
||||
enable = true;
|
||||
package = pkgs.stable.open-webui;
|
||||
# enable = lib.warn "Open WebUI is disabled" false;
|
||||
environment = {
|
||||
VECTOR_DB = "pgvector";
|
||||
PGVECTOR_DB_URL = "postgresql://openwebui:openwebui@pgdb1.home.2rjus.net:5432/openwebui";
|
||||
DO_NOT_TRACK = "True";
|
||||
SCARF_NO_ANALYTICS = "True";
|
||||
OLLAMA_API_BASE_URL = "http://127.0.0.1:11434";
|
||||
@ -18,8 +14,4 @@
|
||||
};
|
||||
port = 11444;
|
||||
};
|
||||
|
||||
# Ensure networking is ok before starting
|
||||
systemd.services.open-webui.after = [ "network-online.target" ];
|
||||
systemd.services.open-webui.wants = [ "network-online.target" ];
|
||||
}
|
||||
|
@ -1,5 +0,0 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
services.ratbagd.enable = true;
|
||||
environment.systemPackages = with pkgs; [ piper ];
|
||||
}
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
@ -22,7 +24,6 @@
|
||||
enable = true;
|
||||
configurationLimit = 3;
|
||||
};
|
||||
|
||||
boot.loader.efi = {
|
||||
canTouchEfiVariables = true;
|
||||
};
|
||||
@ -48,12 +49,8 @@
|
||||
# Set time stuff
|
||||
time.timeZone = "Europe/Oslo";
|
||||
|
||||
hardware = {
|
||||
enableRedistributableFirmware = true;
|
||||
enableAllFirmware = true;
|
||||
|
||||
# Enable opengl
|
||||
graphics = {
|
||||
hardware.graphics = {
|
||||
enable = true;
|
||||
extraPackages = with pkgs; [
|
||||
intel-media-driver
|
||||
@ -61,7 +58,6 @@
|
||||
libvdpau-va-gl
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
# Bluetooth stuff
|
||||
services.blueman.enable = true;
|
||||
@ -82,13 +78,12 @@
|
||||
|
||||
# Setup hyprland
|
||||
services.xserver.enable = true;
|
||||
services.displayManager.gdm.wayland = {
|
||||
services.xserver.displayManager = {
|
||||
gdm.wayland = true;
|
||||
lightdm.enable = false;
|
||||
};
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
withUWSM = true;
|
||||
xwayland.enable = true;
|
||||
portalPackage = pkgs.xdg-desktop-portal-hyprland;
|
||||
};
|
||||
@ -96,6 +91,12 @@
|
||||
# TRIM
|
||||
services.fstrim.enable = true;
|
||||
|
||||
# TLP
|
||||
services.tlp.enable = true;
|
||||
|
||||
# Brillo
|
||||
hardware.brillo.enable = true;
|
||||
|
||||
# Setup common XDG env vars
|
||||
environment.sessionVariables = rec {
|
||||
XDG_CACHE_HOME = "$HOME/.cache";
|
||||
|
@ -8,7 +8,6 @@
|
||||
imports = [
|
||||
./configuration.nix
|
||||
./hardware-configuration.nix
|
||||
./laptop.nix
|
||||
../../system
|
||||
../../home/magicman.nix
|
||||
];
|
||||
|
@ -1,21 +0,0 @@
|
||||
{ ... }:
|
||||
{
|
||||
hardware.brillo.enable = true;
|
||||
powerManagement.enable = true;
|
||||
|
||||
services.tlp.enable = true;
|
||||
|
||||
services.auto-cpufreq = {
|
||||
enable = true;
|
||||
settings = {
|
||||
battery = {
|
||||
governor = "powersave";
|
||||
turbo = "never";
|
||||
};
|
||||
charger = {
|
||||
governor = "performance";
|
||||
turbo = "auto";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
@ -3,7 +3,6 @@ sonarr_api_key: ENC[AES256_GCM,data:mg19hxs+DY6wsLjt4FupjavwmnmMJAP2Us5i1Rt/yyk=
|
||||
sonarr_base_url: ENC[AES256_GCM,data:0HiHIX4KcPEE62Ti1fLH230rC1A7xYg=,iv:mkAnl6t2H5xP9RPjTsbSZkfbrgli/7XKnPE5aGuZpTo=,tag:P2osFM60Jk8qkXJgLaGpjg==,type:str]
|
||||
radarr_api_key: ENC[AES256_GCM,data:Db1ISKTF+m2H1on55/4vdGticfqBdxfIzKHBxC9LAx4=,iv:NhiG4SmsRYIunW1ljFbxeHvRoi9fOVE+9DJn6kmZ6oI=,tag:DoJzo56CW3kJlySYmB8NYQ==,type:str]
|
||||
radarr_base_url: ENC[AES256_GCM,data:3UgOPQMblYhm0ysRB6VVosvZToIM5IA=,iv:o/s0bVBrjrma2Df2LlCCFL5Ks80063/4mABc6vzDrYg=,tag:eHKntLPM9yRRkMfIWSpIdg==,type:str]
|
||||
nats_nkey: ENC[AES256_GCM,data:TcIDFkFXB1+qfTqLylDI46w4/+Cy9XdXyXS26qCbwDaDoQNaRUsC6dw94mbT37352IWOCypTY0hweA==,iv:DC5GQyIXbNSx/mOLAOWTf5AyeFeViLxbKTMgZEfTEXE=,tag:krxk/dnZ58a8dcuWb7zhnA==,type:str]
|
||||
sops:
|
||||
kms: []
|
||||
gcp_kms: []
|
||||
@ -13,23 +12,14 @@ sops:
|
||||
- recipient: age1lznyk4ee7e7x8n92cq2n87kz9920473ks5u9jlhd3dczfzq4wamqept56u
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnaUlVOWtoRTFvMHljV0Fu
|
||||
TFp2Ym1jcThqbWRjUjdNSnhxRUsrOWl6S3dBCmh0L0YzaXNlRTFHMXFHTGc1T3I2
|
||||
WE03WjJCSlJSV2lmSExTWDBQRnlOcDAKLS0tIFJoeEM5b0IrdWxTRWhvNnd0c3NG
|
||||
dENGdjJteFFaQTNFaDgvSGV2UEtyT0EKbdg4atS91rB99l7zKKkfPzKk4T5Mq2x5
|
||||
bX825DPrxauAhvrT7ca/A2OwA4kaFuxPrQGd3VOPAXTVhlbcFgIAdw==
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDdDRDc0UvaWY4U0loZzQ0
|
||||
bDZCMitGbGVYaGJyUXNrZGpnZHJlWHRkK3drCnJ2TlovSUI0OEVrV2FBbVdlSm1z
|
||||
OE9lYXNMSXpCS0NMSkZDcjhtWENOUTAKLS0tIEZFMnVqcktwWkR5VHBGQXdobXlp
|
||||
Q3gxalhGVjNlS3B3YlFsK0VQMUFITEUKE87+RpOG6ucXHHQ0DMQ9F3yo0n1aXbv7
|
||||
OX5ibHU7RroUQwFmDj87u59VUTvpWRQjsBW4c4WrZRk9KcjwinZZZQ==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
- recipient: age1stlqqspmt5fepyz35udrwr5avf9zuju79f787p26pu2d2j08yqps2q2t2c
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvSEZJWldRcmJ3c1BjbUpT
|
||||
bmZXSmlHU0hVRTV3SG91bXpiTXhZd1RkY0Y4ClBxc0RabWJmMi8reHZYWnlmK3pC
|
||||
bUw5V2FEV0pZdkZEMTJ5ZDZXWDM2NjgKLS0tIGZ6dEZ4dERYQXFRQTVkRHhycndz
|
||||
dkgwQlRrdEp6b2FIVnowaDlUMEZpeHcK2icvVv+UpbcdVErRjjQhlQb6PuluC/K7
|
||||
Vy8Rh7dTn++bSEdGidDNGYeUQBrVy2qooq04lQqbeOOrdmXVhTamdA==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2025-02-11T19:22:47Z"
|
||||
mac: ENC[AES256_GCM,data:vd8O5y1GNDTDrlundbNZcGRAQzKLDly4qyxTqRO2JrnDYOqD/vQ8TqRQYiUgGY+5AcgjoLMER8keE8OUmcngN16cbGx1zKTpdqyHb7B2KR7ZfWOjW5kTk5KWM1gLDA4hA2GBEjHFBPGKdcrjURek9MrT+iM+qArbizSjWlKuehc=,iv:cicEnvWynZizJqrUzPIzbJWl6O8uL65Vs7fAYsuqSNA=,tag:l5jBXQfFedVE/VccZh+1qQ==,type:str]
|
||||
lastmodified: "2024-04-25T19:19:54Z"
|
||||
mac: ENC[AES256_GCM,data:VGBiDi71DHAXLhi7XC0XSTqnSwcJXv1Lj53qriFER7BXXZNPUdbeknlYR+KMdL3hgKGiK+ElWK5foDAy6jpl1H3U7Y9B4d40pVZSzEoN+fCwUgfP+yym1HwKZZoJok2ksXZIL4MZyZSNS+ONjDeFEcyHobIx8pRThxic3CcvptI=,iv:QwnFcYeIWibx5q8C/ur1eE8F9vbyGHg5raInDHBoyVs=,tag:JJWEYAyVhfny4hWrKBAKig==,type:str]
|
||||
pgp: []
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.9.4
|
||||
version: 3.8.1
|
||||
|
@ -1,12 +1,10 @@
|
||||
{
|
||||
imports = [
|
||||
./fonts.nix
|
||||
./root-ca.nix
|
||||
./fwupd.nix
|
||||
./git.nix
|
||||
./greetd.nix
|
||||
./libvirt.nix
|
||||
./locale.nix
|
||||
./podman.nix
|
||||
./security.nix
|
||||
./services.nix
|
||||
|
@ -5,10 +5,14 @@
|
||||
fira-code
|
||||
fira-code-symbols
|
||||
font-awesome
|
||||
nerd-fonts.jetbrains-mono
|
||||
nerd-fonts.fira-code
|
||||
nerd-fonts.droid-sans-mono
|
||||
nerd-fonts.dejavu-sans-mono
|
||||
(nerdfonts.override {
|
||||
fonts = [
|
||||
"JetBrainsMono"
|
||||
"FiraCode"
|
||||
"DroidSansMono"
|
||||
"DejaVuSansMono"
|
||||
];
|
||||
})
|
||||
noto-fonts
|
||||
noto-fonts-cjk-sans
|
||||
noto-fonts-emoji
|
||||
|
@ -4,7 +4,7 @@
|
||||
enable = true;
|
||||
settings = {
|
||||
default_session = {
|
||||
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd \"uwsm start default\"";
|
||||
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd \"dbus-run-session Hyprland\"";
|
||||
user = "greeter";
|
||||
};
|
||||
};
|
||||
|
@ -1,12 +0,0 @@
|
||||
{ ... }:
|
||||
{
|
||||
i18n = {
|
||||
supportedLocales = [
|
||||
"en_US.UTF-8/UTF-8"
|
||||
"nb_NO.UTF-8/UTF-8"
|
||||
];
|
||||
extraLocaleSettings = {
|
||||
LC_TIME = "nb_NO.UTF-8";
|
||||
};
|
||||
};
|
||||
}
|
37
system/monitoring.nix
Normal file
37
system/monitoring.nix
Normal file
@ -0,0 +1,37 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
prometheus-node-exporter
|
||||
prometheus-systemd-exporter
|
||||
];
|
||||
|
||||
systemd.services."node-exporter" = {
|
||||
enable = true;
|
||||
unitConfig = {
|
||||
Description = "Prometheus Node Exporter";
|
||||
After = [ "network.target" ];
|
||||
};
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.prometheus-node-exporter}/bin/node_exporter";
|
||||
};
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
};
|
||||
|
||||
systemd.services."systemd-exporter" = {
|
||||
enable = true;
|
||||
unitConfig = {
|
||||
Description = "Prometheus Systemd Exporter";
|
||||
After = [ "network.target" ];
|
||||
};
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.prometheus-systemd-exporter}/bin/systemd_exporter";
|
||||
};
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
};
|
||||
|
||||
networking.firewall.allowedTCPPorts = [
|
||||
9100
|
||||
9558
|
||||
8989
|
||||
];
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./metrics.nix
|
||||
./logs.nix
|
||||
];
|
||||
}
|
@ -1,39 +0,0 @@
|
||||
{ ... }:
|
||||
{
|
||||
services.promtail = {
|
||||
enable = true;
|
||||
configuration = {
|
||||
server = {
|
||||
http_listen_address = "0.0.0.0";
|
||||
http_listen_port = 9099;
|
||||
grpc_listen_address = "0.0.0.0";
|
||||
grpc_listen_port = 9098;
|
||||
};
|
||||
|
||||
clients = [
|
||||
{
|
||||
url = "http://monitoring01.home.2rjus.net:3100/loki/api/v1/push";
|
||||
}
|
||||
];
|
||||
|
||||
scrape_configs = [
|
||||
{
|
||||
job_name = "journal";
|
||||
journal = {
|
||||
json = true;
|
||||
};
|
||||
relabel_configs = [
|
||||
{
|
||||
source_labels = [ "__journal__systemd_unit" ];
|
||||
target_label = "systemd_unit";
|
||||
}
|
||||
{
|
||||
source_labels = [ "__journal__hostname" ];
|
||||
target_label = "host";
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
@ -1,18 +0,0 @@
|
||||
{ ... }:
|
||||
{
|
||||
services.prometheus.exporters = {
|
||||
node = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
enabledCollectors = [
|
||||
"systemd"
|
||||
"logind"
|
||||
];
|
||||
};
|
||||
smartctl = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
devices = [ "/dev/nvme0n1" ];
|
||||
};
|
||||
};
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIBxDCCAWmgAwIBAgIQQCSzuOLIKLj1dGbC+NFttjAKBggqhkjOPQQDAjBAMRow
|
||||
GAYDVQQKExFob21lLjJyanVzLm5ldCBDQTEiMCAGA1UEAxMZaG9tZS4ycmp1cy5u
|
||||
ZXQgQ0EgUm9vdCBDQTAeFw0yNDEwMjEwOTEyNDRaFw0zNDEwMTkwOTEyNDRaMEAx
|
||||
GjAYBgNVBAoTEWhvbWUuMnJqdXMubmV0IENBMSIwIAYDVQQDExlob21lLjJyanVz
|
||||
Lm5ldCBDQSBSb290IENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEGDE4ss9y
|
||||
9msphQ/Sa/tAoEaGoDHQcg5oRcxWL5SZYjUPNl+zbRZzqkvCz2S1XrHJPiPWbyJX
|
||||
cZAlPxbwZrWDyKNFMEMwDgYDVR0PAQH/BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8C
|
||||
AQEwHQYDVR0OBBYEFPZx6AahX5diBMChZbv5N4dh+vCTMAoGCCqGSM49BAMCA0kA
|
||||
MEYCIQC6yqMM9/s1Dct5jlq0NAGsDA68hVTDcO3RP61lxQlfBwIhAL1jlmIwaSJc
|
||||
TjdIMjPQ3ombBRqDJBDvDr8o6oOUjret
|
||||
-----END CERTIFICATE-----
|
@ -1,9 +0,0 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
security.pki = {
|
||||
certificateFiles = [
|
||||
"${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"
|
||||
./root-ca.crt
|
||||
];
|
||||
};
|
||||
}
|
@ -12,6 +12,7 @@
|
||||
locate = {
|
||||
enable = true;
|
||||
package = pkgs.plocate;
|
||||
localuser = null;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -3,7 +3,6 @@
|
||||
{
|
||||
programs.zsh.enable = true;
|
||||
environment.shells = with pkgs; [ zsh ];
|
||||
programs.adb.enable = true;
|
||||
|
||||
# Setup torjus user
|
||||
users.users.torjus = {
|
||||
@ -21,7 +20,6 @@
|
||||
"gamemode"
|
||||
"libvirtd"
|
||||
"podman"
|
||||
"adbusers"
|
||||
];
|
||||
# Install some user packages
|
||||
packages = with pkgs; [ ];
|
||||
|
Loading…
x
Reference in New Issue
Block a user