Compare commits
25 Commits
8e9ab3aa38
...
main
Author | SHA1 | Date | |
---|---|---|---|
e28f9d5f2f
|
|||
6381ccf530
|
|||
35e7c0df79
|
|||
047e54ef74
|
|||
6dfad3f7f1
|
|||
74ecc77048
|
|||
5c74dc820b
|
|||
89de487f68
|
|||
07c5526868
|
|||
d3bb262f7a
|
|||
d5560fd847
|
|||
751cb87d8d
|
|||
d2cc6663e7
|
|||
64f21a317b
|
|||
849bd2a5e0
|
|||
79d07a5bfd
|
|||
351272fc5c
|
|||
f68ff8d18c
|
|||
f475b7b4ab
|
|||
e65e523992
|
|||
38cb13a195
|
|||
fa648a174d
|
|||
95235d5ad5
|
|||
4d1b3e9911
|
|||
e1fd8a07bd |
43
README.md
43
README.md
@@ -30,25 +30,26 @@
|
||||
|
||||
List over services
|
||||
|
||||
| Service | Description | Link |
|
||||
| -------------- | -------------------- | ---------------------------------------------------------------------- |
|
||||
| Caddy | Reverse proxy | - |
|
||||
| Kanidm | Openid provider | [auth.tbmrs.nl](https://auth.tbmrs.nl) |
|
||||
| Forgejo | Git provider | [git.tbmrs.nl](https://git.tbmrs.nl) |
|
||||
| Immich | Photo and videos | [photos.tbmrs.nl](https://photos.tbmrs.nl) |
|
||||
| Homepage | Dashboard | [home.tbmrs.nl](https://home.tbmrs.nl) |
|
||||
| Uptime Kuma | Uptime monitor | [uptime.tbmrs.nl](https://uptime.tbmrs.nl) |
|
||||
| Pingvin share | Sharing of files | [share.tbmrs.nl](https://share.tbmrs.nl) |
|
||||
| Vaultwarden | Password manager | [vault.local.tbmrs.nl](https://vault.local.tbmrs.nl) |
|
||||
| Paperless NGX | Documents management | [paperless.local.tbmrs.nl](https://paperless.local.tbmrs.nl) |
|
||||
| Beszel | Resource usage | [monitor.local.tbmrs.nl](https://monitor.local.tbmrs.nl) |
|
||||
| Dufs | File manager | [files.tbmrs.nl](https://files.tbmrs.nl) |
|
||||
| Syncthing | File syncing | [syncthing.local.tbmrs.nl](https://syncthing.local.tbmrs.nl) |
|
||||
| Home Assistant | Home automation | [home-assistant.local.tbmrs.nl](https://home-assistant.local.tbmrs.nl) |
|
||||
| ~~Karakeep~~ | Bookmarking | ~~[karakeep.local.tbmrs.nl](https://karakeep.local.tbmrs.nl)~~ |
|
||||
| Vikunja | Tasks management | [vikunja.local.tbmrs.nl](https://vikunja.local.tbmrs.nl) |
|
||||
| Stalwart | Mailserver | [mail.tbmrs.nl](https://mail.tbmrs.nl) |
|
||||
| Linkding | Bookmark managment | [links.local.tbmrs.nl](https://links.local.tbmrs.nl) |
|
||||
| Service | Description | Link |
|
||||
| -------------- | ---------------------------------- | ---------------------------------------------------------------------- |
|
||||
| Caddy | Reverse proxy | - |
|
||||
| Kanidm | Openid provider | [auth.tbmrs.nl](https://auth.tbmrs.nl) |
|
||||
| Forgejo | Git provider | [git.tbmrs.nl](https://git.tbmrs.nl) |
|
||||
| Immich | Photo and videos | [photos.tbmrs.nl](https://photos.tbmrs.nl) |
|
||||
| Homepage | Dashboard | [home.tbmrs.nl](https://home.tbmrs.nl) |
|
||||
| Uptime Kuma | Uptime monitor | [uptime.tbmrs.nl](https://uptime.tbmrs.nl) |
|
||||
| Pingvin share | Sharing of files | [share.tbmrs.nl](https://share.tbmrs.nl) |
|
||||
| Vaultwarden | Password manager | [vault.local.tbmrs.nl](https://vault.local.tbmrs.nl) |
|
||||
| Paperless NGX | Documents management | [paperless.local.tbmrs.nl](https://paperless.local.tbmrs.nl) |
|
||||
| Beszel | Resource usage | [monitor.local.tbmrs.nl](https://monitor.local.tbmrs.nl) |
|
||||
| Dufs | File manager | [files.tbmrs.nl](https://files.tbmrs.nl) |
|
||||
| Syncthing | File syncing | [syncthing.local.tbmrs.nl](https://syncthing.local.tbmrs.nl) |
|
||||
| Home Assistant | Home automation | [home-assistant.local.tbmrs.nl](https://home-assistant.local.tbmrs.nl) |
|
||||
| ~~Karakeep~~ | Bookmarking | ~~[karakeep.local.tbmrs.nl](https://karakeep.local.tbmrs.nl)~~ |
|
||||
| Vikunja | Tasks management | [vikunja.local.tbmrs.nl](https://vikunja.local.tbmrs.nl) |
|
||||
| Stalwart | Mailserver | [mail.tbmrs.nl](https://mail.tbmrs.nl) |
|
||||
| Linkding | Bookmark managment | [links.local.tbmrs.nl](https://links.local.tbmrs.nl) |
|
||||
| Jellyfin | Movies, series and music streaming | [stream.local.tbmrs.nl](https://stream.local.tbmrs.nl) |
|
||||
|
||||
### Todo
|
||||
|
||||
@@ -88,3 +89,7 @@ $ kanidm system oauth2 warning-insecure-client-disable-pkce <service>
|
||||
```bash
|
||||
$ kanidm system oauth2 show-basic-secret <service>
|
||||
```
|
||||
|
||||
## Useful links
|
||||
|
||||
Womier keyboard permissions denied or not finding: https://github.com/the-via/releases/issues/257
|
||||
|
BIN
assets/wallpaper-2-blurred.png
Normal file
BIN
assets/wallpaper-2-blurred.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.0 MiB |
298
flake.lock
generated
298
flake.lock
generated
@@ -37,11 +37,11 @@
|
||||
"base16-helix": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1736852337,
|
||||
"narHash": "sha256-esD42YdgLlEh7koBrSqcT7p2fsMctPAcGl/+2sYJa2o=",
|
||||
"lastModified": 1748408240,
|
||||
"narHash": "sha256-9M2b1rMyMzJK0eusea0x3lyh3mu5nMeEDSc4RZkGm+g=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-helix",
|
||||
"rev": "03860521c40b0b9c04818f2218d9cc9efc21e7a5",
|
||||
"rev": "6c711ab1a9db6f51e2f6887cc3345530b33e152e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -90,11 +90,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1747742835,
|
||||
"narHash": "sha256-kYL4GCwwznsypvsnA20oyvW8zB/Dvn6K5G/tgMjVMT4=",
|
||||
"lastModified": 1751854533,
|
||||
"narHash": "sha256-U/OQFplExOR1jazZY4KkaQkJqOl59xlh21HP9mI79Vc=",
|
||||
"owner": "nix-community",
|
||||
"repo": "disko",
|
||||
"rev": "df522e787fdffc4f32ed3e1fca9ed0968a384d62",
|
||||
"rev": "16b74a1e304197248a1bc663280f2548dbfcae3c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -106,11 +106,11 @@
|
||||
"firefox-gnome-theme": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1744642301,
|
||||
"narHash": "sha256-5A6LL7T0lttn1vrKsNOKUk9V0ittdW0VEqh6AtefxJ4=",
|
||||
"lastModified": 1748383148,
|
||||
"narHash": "sha256-pGvD/RGuuPf/4oogsfeRaeMm6ipUIznI2QSILKjKzeA=",
|
||||
"owner": "rafaelmardojai",
|
||||
"repo": "firefox-gnome-theme",
|
||||
"rev": "59e3de00f01e5adb851d824cf7911bd90c31083a",
|
||||
"rev": "4eb2714fbed2b80e234312611a947d6cb7d70caf",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -119,21 +119,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"locked": {
|
||||
"lastModified": 1733328505,
|
||||
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
@@ -142,11 +127,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1733312601,
|
||||
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
|
||||
"lastModified": 1749398372,
|
||||
"narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
|
||||
"rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -171,54 +156,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"git-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": [
|
||||
"stylix",
|
||||
"flake-compat"
|
||||
],
|
||||
"gitignore": "gitignore",
|
||||
"nixpkgs": [
|
||||
"stylix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1742649964,
|
||||
"narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"stylix",
|
||||
"git-hooks",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709087332,
|
||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gnome-shell": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
@@ -243,11 +180,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1747556831,
|
||||
"narHash": "sha256-Qb84nbYFFk0DzFeqVoHltS2RodAYY5/HZQKE8WnBDsc=",
|
||||
"lastModified": 1751810233,
|
||||
"narHash": "sha256-kllkNbIqQi3VplgTMeGzuh1t8Gk8TauvkTRt93Km+tQ=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "d0bbd221482c2713cccb80220f3c9d16a6e20a33",
|
||||
"rev": "9b0873b46c9f9e4b7aa01eb634952c206af53068",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -257,25 +194,59 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager_2": {
|
||||
"niri": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"stylix",
|
||||
"nixpkgs"
|
||||
]
|
||||
"niri-stable": "niri-stable",
|
||||
"niri-unstable": "niri-unstable",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs-stable": "nixpkgs-stable",
|
||||
"xwayland-satellite-stable": "xwayland-satellite-stable",
|
||||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1747556831,
|
||||
"narHash": "sha256-Qb84nbYFFk0DzFeqVoHltS2RodAYY5/HZQKE8WnBDsc=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "d0bbd221482c2713cccb80220f3c9d16a6e20a33",
|
||||
"lastModified": 1752057206,
|
||||
"narHash": "sha256-f8fNAag3K3WAq+lJr2EEu2f3xVSFLPddLgJKZRzXa3M=",
|
||||
"owner": "sodiboo",
|
||||
"repo": "niri-flake",
|
||||
"rev": "90c2edcf32d0fcb511fee9a0b8c580a18178c109",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "release-25.05",
|
||||
"repo": "home-manager",
|
||||
"owner": "sodiboo",
|
||||
"repo": "niri-flake",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"niri-stable": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1748151941,
|
||||
"narHash": "sha256-z4viQZLgC2bIJ3VrzQnR+q2F3gAOEQpU1H5xHtX/2fs=",
|
||||
"owner": "YaLTeR",
|
||||
"repo": "niri",
|
||||
"rev": "8ba57fcf25d2fc9565131684a839d58703f1dae7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "YaLTeR",
|
||||
"ref": "v25.05.1",
|
||||
"repo": "niri",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"niri-unstable": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1750791124,
|
||||
"narHash": "sha256-F5iVU/hjoSHSSe0gllxm0PcAaseEtGNanYK5Ha3k2Tg=",
|
||||
"owner": "YaLTeR",
|
||||
"repo": "niri",
|
||||
"rev": "37458d94b288945f6cfbd3c5c233f634d59f246c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "YaLTeR",
|
||||
"repo": "niri",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
@@ -300,11 +271,11 @@
|
||||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1747900541,
|
||||
"narHash": "sha256-dn64Pg9xLETjblwZs9Euu/SsjW80pd6lr5qSiyLY1pg=",
|
||||
"lastModified": 1752048960,
|
||||
"narHash": "sha256-gATnkOe37eeVwKKYCsL+OnS2gU4MmLuZFzzWCtaKLI8=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "11f2d9ea49c3e964315215d6baa73a8d42672f06",
|
||||
"rev": "7ced9122cff2163c6a0212b8d1ec8c33a1660806",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -316,17 +287,18 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1747825515,
|
||||
"narHash": "sha256-BWpMQymVI73QoKZdcVCxUCCK3GNvr/xa2Dc4DM1o2BE=",
|
||||
"lastModified": 1751792365,
|
||||
"narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "cd2812de55cf87df88a9e09bf3be1ce63d50c1a6",
|
||||
"rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"ref": "nixos-25.05",
|
||||
"type": "indirect"
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib": {
|
||||
@@ -344,13 +316,29 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1747744144,
|
||||
"narHash": "sha256-W7lqHp0qZiENCDwUZ5EX/lNhxjMdNapFnbErcbnP11Q=",
|
||||
"lastModified": 1751943650,
|
||||
"narHash": "sha256-7orTnNqkGGru8Je6Un6mq1T8YVVU/O5kyW4+f9C1mZQ=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "2795c506fe8fb7b03c36ccb51f75b6df0ab2553f",
|
||||
"rev": "88983d4b665fb491861005137ce2b11a9f89f203",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-25.05",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1751792365,
|
||||
"narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -360,6 +348,21 @@
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1751943650,
|
||||
"narHash": "sha256-7orTnNqkGGru8Je6Un6mq1T8YVVU/O5kyW4+f9C1mZQ=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "88983d4b665fb491861005137ce2b11a9f89f203",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"ref": "nixos-25.05",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1744868846,
|
||||
"narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=",
|
||||
@@ -375,13 +378,13 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1747610100,
|
||||
"narHash": "sha256-rpR5ZPMkWzcnCcYYo3lScqfuzEw5Uyfh+R0EKZfroAc=",
|
||||
"lastModified": 1751211869,
|
||||
"narHash": "sha256-1Cu92i1KSPbhPCKxoiVG5qnoRiKTgR5CcGSRyLpOd7Y=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "ca49c4304acf0973078db0a9d200fd2bae75676d",
|
||||
"rev": "b43c397f6c213918d6cfe6e3550abfe79b5d1c51",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -404,11 +407,11 @@
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1746056780,
|
||||
"narHash": "sha256-/emueQGaoT4vu0QjU9LDOG5roxRSfdY0K2KkxuzazcM=",
|
||||
"lastModified": 1751320053,
|
||||
"narHash": "sha256-3m6RMw0FbbaUUa01PNaMLoO7D99aBClmY5ed9V3vz+0=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "d476cd0972dd6242d76374fcc277e6735715c167",
|
||||
"rev": "cbde1735782f9c2bb2c63d5e05fba171a14a4670",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -421,9 +424,10 @@
|
||||
"inputs": {
|
||||
"disko": "disko",
|
||||
"home-manager": "home-manager",
|
||||
"niri": "niri",
|
||||
"nix-colors": "nix-colors",
|
||||
"nixos-hardware": "nixos-hardware",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||
"sops-nix": "sops-nix",
|
||||
"stylix": "stylix"
|
||||
@@ -431,14 +435,14 @@
|
||||
},
|
||||
"sops-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1747603214,
|
||||
"narHash": "sha256-lAblXm0VwifYCJ/ILPXJwlz0qNY07DDYdLD+9H+Wc8o=",
|
||||
"lastModified": 1751606940,
|
||||
"narHash": "sha256-KrDPXobG7DFKTOteqdSVeL1bMVitDcy7otpVZWDE6MA=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "8d215e1c981be3aa37e47aeabd4e61bb069548fd",
|
||||
"rev": "3633fc4acf03f43b260244d94c71e9e14a2f6e0d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -454,12 +458,9 @@
|
||||
"base16-helix": "base16-helix",
|
||||
"base16-vim": "base16-vim",
|
||||
"firefox-gnome-theme": "firefox-gnome-theme",
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-parts": "flake-parts",
|
||||
"git-hooks": "git-hooks",
|
||||
"gnome-shell": "gnome-shell",
|
||||
"home-manager": "home-manager_2",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"nur": "nur",
|
||||
"systems": "systems",
|
||||
"tinted-foot": "tinted-foot",
|
||||
@@ -469,11 +470,11 @@
|
||||
"tinted-zed": "tinted-zed"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1747905597,
|
||||
"narHash": "sha256-2pnf8w4XNS1F/fGt0ZwKGEDdrPeW7fp6d33OBR0GepE=",
|
||||
"lastModified": 1752014016,
|
||||
"narHash": "sha256-Gn6cnUPchPenxUFDt+dh7836CNu3GM13aghTabfZUrU=",
|
||||
"owner": "danth",
|
||||
"repo": "stylix",
|
||||
"rev": "7f26a7f3d04482ea4da2382a806f413c917ac20d",
|
||||
"rev": "26042c1f59ae868193fa4378f85e4f6240f25ff8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -534,11 +535,11 @@
|
||||
"tinted-schemes": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1744974599,
|
||||
"narHash": "sha256-Fg+rdGs5FAgfkYNCs74lnl8vkQmiZVdBsziyPhVqrlY=",
|
||||
"lastModified": 1750770351,
|
||||
"narHash": "sha256-LI+BnRoFNRa2ffbe3dcuIRYAUcGklBx0+EcFxlHj0SY=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "schemes",
|
||||
"rev": "28c26a621123ad4ebd5bbfb34ab39421c0144bdd",
|
||||
"rev": "5a775c6ffd6e6125947b393872cde95867d85a2a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -550,11 +551,11 @@
|
||||
"tinted-tmux": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1745111349,
|
||||
"narHash": "sha256-udV+nHdpqgkJI9D0mtvvAzbqubt9jdifS/KhTTbJ45w=",
|
||||
"lastModified": 1751159871,
|
||||
"narHash": "sha256-UOHBN1fgHIEzvPmdNMHaDvdRMgLmEJh2hNmDrp3d3LE=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-tmux",
|
||||
"rev": "e009f18a01182b63559fb28f1c786eb027c3dee9",
|
||||
"rev": "bded5e24407cec9d01bd47a317d15b9223a1546c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -566,11 +567,11 @@
|
||||
"tinted-zed": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1725758778,
|
||||
"narHash": "sha256-8P1b6mJWyYcu36WRlSVbuj575QWIFZALZMTg5ID/sM4=",
|
||||
"lastModified": 1751158968,
|
||||
"narHash": "sha256-ksOyv7D3SRRtebpXxgpG4TK8gZSKFc4TIZpR+C98jX8=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-zed",
|
||||
"rev": "122c9e5c0e6f27211361a04fae92df97940eccf9",
|
||||
"rev": "86a470d94204f7652b906ab0d378e4231a5b3384",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -600,6 +601,39 @@
|
||||
"repo": "treefmt-nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"xwayland-satellite-stable": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1748488455,
|
||||
"narHash": "sha256-IiLr1alzKFIy5tGGpDlabQbe6LV1c9ABvkH6T5WmyRI=",
|
||||
"owner": "Supreeeme",
|
||||
"repo": "xwayland-satellite",
|
||||
"rev": "3ba30b149f9eb2bbf42cf4758d2158ca8cceef73",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Supreeeme",
|
||||
"ref": "v0.6",
|
||||
"repo": "xwayland-satellite",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"xwayland-satellite-unstable": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1751228685,
|
||||
"narHash": "sha256-MENtauGBhJ+kDeFaawvWGXaFG3Il6qQzjaP0RmtfM0k=",
|
||||
"owner": "Supreeeme",
|
||||
"repo": "xwayland-satellite",
|
||||
"rev": "557ebeb616e03d5e4a8049862bbbd1f02c6f020b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Supreeeme",
|
||||
"repo": "xwayland-satellite",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
|
@@ -18,6 +18,7 @@
|
||||
stylix.url = "github:danth/stylix/release-25.05";
|
||||
|
||||
sops-nix.url = "github:Mic92/sops-nix";
|
||||
niri.url = "github:sodiboo/niri-flake";
|
||||
|
||||
disko.url = "github:nix-community/disko";
|
||||
disko.inputs.nixpkgs.follows = "nixpkgs";
|
||||
@@ -30,6 +31,7 @@
|
||||
nix-colors,
|
||||
stylix,
|
||||
sops-nix,
|
||||
niri,
|
||||
disko,
|
||||
...
|
||||
} @ inputs: let
|
||||
|
@@ -13,8 +13,10 @@
|
||||
};
|
||||
|
||||
settings = {
|
||||
host = "c-clt-dsk01";
|
||||
|
||||
applications.common.enable = true;
|
||||
applications.alacritty.enable = false;
|
||||
applications.alacritty.enable = true;
|
||||
applications.devenv.enable = false;
|
||||
applications.firefox.enable = true;
|
||||
applications.git.enable = true;
|
||||
|
@@ -13,6 +13,8 @@
|
||||
};
|
||||
|
||||
settings = {
|
||||
host = "p-th-rpi-01";
|
||||
|
||||
applications.common.enable = false;
|
||||
applications.alacritty.enable = false;
|
||||
applications.devenv.enable = false;
|
||||
|
@@ -1,4 +1,4 @@
|
||||
{ inputs, outputs, ... }:
|
||||
{ inputs, outputs, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
@@ -9,11 +9,12 @@
|
||||
|
||||
settings = {
|
||||
hostname = "ti-clt-dsk01";
|
||||
display-manager = "cosmic-greeter";
|
||||
display-manager = "greetd";
|
||||
desktop-environments = {
|
||||
cosmic.enable = true;
|
||||
cosmic.enable = false;
|
||||
hyprland.enable = false;
|
||||
gnome.enable = false;
|
||||
niri.enable = true;
|
||||
};
|
||||
applications = {
|
||||
common.enable = true;
|
||||
@@ -30,7 +31,7 @@
|
||||
hardware = {
|
||||
fprint.enable = false;
|
||||
printing.enable = true;
|
||||
bluetooth.enable = false;
|
||||
bluetooth.enable = true;
|
||||
firewall.enable = true;
|
||||
locale.enable = true;
|
||||
nvidia.enable = true;
|
||||
@@ -72,20 +73,24 @@
|
||||
"home-assistant.local.tbmrs.nl"
|
||||
"tasks.local.tbmrs.nl"
|
||||
"links.local.tbmrs.nl"
|
||||
"stream.local.tbmrs.nl"
|
||||
];
|
||||
};
|
||||
|
||||
# Setup nfs share
|
||||
services.nfs = {
|
||||
server = {
|
||||
enable = true;
|
||||
exports = ''
|
||||
/export 192.168.100.0/24(rw,fsid=0,no_subtree_check)
|
||||
/export/wrb 192.168.100.0/24(rw,nohide,no_subtree_check)
|
||||
'';
|
||||
};
|
||||
};
|
||||
networking.firewall.allowedTCPPorts = [ 2049 ];
|
||||
# Temp keyboard override
|
||||
environment.systemPackages = with pkgs; [
|
||||
via
|
||||
vial
|
||||
];
|
||||
services.udev.packages = with pkgs; [
|
||||
via
|
||||
vial
|
||||
];
|
||||
|
||||
# manual udev override
|
||||
# services.udev.extraRules = ''
|
||||
# KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{serial}=="*vial:f64c2b3c*", ATTRS{idVendor}=="320f", ATTRS{idProduct}=="5055", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl"
|
||||
# '';
|
||||
|
||||
# state version
|
||||
system.stateVersion = "24.11";
|
||||
|
@@ -13,6 +13,8 @@
|
||||
};
|
||||
|
||||
settings = {
|
||||
host = "ti-clt-dsk01";
|
||||
|
||||
applications.common.enable = true;
|
||||
applications.alacritty.enable = false;
|
||||
applications.devenv.enable = true;
|
||||
@@ -34,6 +36,7 @@
|
||||
applications.zellij.enable = true;
|
||||
applications.wezterm.enable = true;
|
||||
applications.typst.enable = true;
|
||||
applications.obs-studio.enable = true;
|
||||
|
||||
services.nextcloud-sync.enable = true;
|
||||
|
||||
@@ -43,19 +46,19 @@
|
||||
theming.stylix.theme = "da-one-ocean";
|
||||
|
||||
desktop-environments.hyprland.enable = false;
|
||||
desktop-environments.niri.enable = true;
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
unstable.prismlauncher
|
||||
unstable.vesktop
|
||||
unstable.webcord
|
||||
unstable.legcord
|
||||
vesktop
|
||||
unstable.rnote
|
||||
unstable.inkscape
|
||||
unstable.gimp
|
||||
unstable.brave
|
||||
unstable.freecad
|
||||
unstable.hoppscotch
|
||||
hoppscotch
|
||||
unstable.blender
|
||||
unstable.signal-desktop
|
||||
unstable.ladybird
|
||||
unstable.prusa-slicer
|
||||
|
@@ -11,11 +11,12 @@
|
||||
|
||||
settings = {
|
||||
hostname = "ti-clt-lpt01";
|
||||
display-manager = "cosmic-greeter";
|
||||
display-manager = "greetd";
|
||||
desktop-environments = {
|
||||
cosmic.enable = true;
|
||||
hyprland.enable = true;
|
||||
cosmic.enable = false;
|
||||
hyprland.enable = false;
|
||||
gnome.enable = false;
|
||||
niri.enable = true;
|
||||
};
|
||||
applications = {
|
||||
common.enable = true;
|
||||
@@ -43,9 +44,15 @@
|
||||
users.users.xeovalyte = {
|
||||
isNormalUser = true;
|
||||
description = "Timo Boomers";
|
||||
extraGroups = [ "networkmanager" "wheel" "dialout" ];
|
||||
extraGroups = [ "networkmanager" "wheel" "dialout" "adbusers" ];
|
||||
};
|
||||
|
||||
networking.networkmanager.enable = true;
|
||||
|
||||
programs.nix-ld.enable = true;
|
||||
programs.adb.enable = true;
|
||||
services.power-profiles-daemon.enable = true;
|
||||
|
||||
# Boot.
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
boot.loader.grub = {
|
||||
@@ -79,5 +86,24 @@
|
||||
allowedUDPPorts = [ 80 443 53 ];
|
||||
};
|
||||
|
||||
# Obs
|
||||
programs.obs-studio = {
|
||||
enable = true;
|
||||
|
||||
# optional Nvidia hardware acceleration
|
||||
package = (
|
||||
pkgs.obs-studio.override {
|
||||
cudaSupport = true;
|
||||
}
|
||||
);
|
||||
|
||||
plugins = with pkgs.obs-studio-plugins; [
|
||||
wlrobs
|
||||
obs-vaapi #optional AMD hardware acceleration
|
||||
obs-gstreamer
|
||||
obs-vkcapture
|
||||
];
|
||||
};
|
||||
|
||||
system.stateVersion = "24.05";
|
||||
}
|
||||
|
@@ -13,6 +13,8 @@
|
||||
};
|
||||
|
||||
settings = {
|
||||
host = "ti-clt-lpt01";
|
||||
|
||||
applications.common.enable = true;
|
||||
applications.alacritty.enable = true;
|
||||
applications.devenv.enable = true;
|
||||
@@ -35,6 +37,7 @@
|
||||
applications.wezterm.enable = true;
|
||||
applications.nushell.enable = false;
|
||||
applications.typst.enable = true;
|
||||
# applications.obs-studio.enable = true;
|
||||
|
||||
services.nextcloud-sync.enable = true;
|
||||
|
||||
@@ -44,6 +47,7 @@
|
||||
theming.stylix.theme = "da-one-ocean";
|
||||
|
||||
desktop-environments.hyprland.enable = false;
|
||||
desktop-environments.niri.enable = true;
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
@@ -61,6 +65,9 @@
|
||||
unstable.hoppscotch
|
||||
unstable.apostrophe
|
||||
unstable.surfer # waveform viewer
|
||||
unstable.vscode
|
||||
pomodoro-gtk
|
||||
unstable.brave
|
||||
|
||||
# Office
|
||||
libreoffice
|
||||
@@ -68,7 +75,6 @@
|
||||
# Image editing
|
||||
gimp
|
||||
inkscape
|
||||
unstable.obs-studio
|
||||
|
||||
unstable.moonlight-qt
|
||||
|
||||
|
@@ -13,6 +13,8 @@
|
||||
};
|
||||
|
||||
settings = {
|
||||
host = "ti-clt-tbl01";
|
||||
|
||||
applications.common.enable = true;
|
||||
applications.alacritty.enable = false;
|
||||
applications.devenv.enable = false;
|
||||
|
@@ -13,6 +13,8 @@
|
||||
};
|
||||
|
||||
settings = {
|
||||
host = "v-th-ctr-01";
|
||||
|
||||
applications.common.enable = false;
|
||||
applications.alacritty.enable = false;
|
||||
applications.devenv.enable = false;
|
||||
|
7
justfile
7
justfile
@@ -30,3 +30,10 @@ alias sh := switch-home-manager
|
||||
|
||||
switch-home-manager:
|
||||
home-manager switch --flake .
|
||||
|
||||
alias gc := collect-garbage
|
||||
|
||||
collect-garbage:
|
||||
sudo nix-collect-garbage -d
|
||||
nix-collect-garbage -d
|
||||
|
||||
|
@@ -139,7 +139,7 @@ in {
|
||||
"ebay".metaData.hidden = true;
|
||||
};
|
||||
search.force = true;
|
||||
search.default = "SearXNG";
|
||||
search.default = "ddg";
|
||||
|
||||
settings = {
|
||||
"browser.disableResetPrompt" = true;
|
||||
|
@@ -95,7 +95,6 @@ in {
|
||||
insert = "bar";
|
||||
};
|
||||
editor.end-of-line-diagnostics = "hint";
|
||||
editor.inline-diagnostics.cursor-line = "error";
|
||||
};
|
||||
languages = {
|
||||
# Rust
|
||||
|
27
modules/home/applications/obs-studio.nix
Normal file
27
modules/home/applications/obs-studio.nix
Normal file
@@ -0,0 +1,27 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.settings.applications.obs-studio;
|
||||
in {
|
||||
options = {
|
||||
settings.applications.obs-studio.enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
description = ''
|
||||
Enable obs studio with optional plugins
|
||||
'';
|
||||
default = false;
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
programs.obs-studio = {
|
||||
enable = true;
|
||||
plugins = with pkgs.obs-studio-plugins; [
|
||||
wlrobs
|
||||
obs-vaapi #optional AMD hardware acceleration
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
@@ -20,7 +20,7 @@ in {
|
||||
image = "jellyfin/jellyfin";
|
||||
network = "proxy";
|
||||
volumes = [
|
||||
"%h/containers/jellyfin/data:/data"
|
||||
"%h/containers/jellyfin/config:/config"
|
||||
"%h/containers/jellyfin/cache:/cache"
|
||||
"%h/media:/media"
|
||||
];
|
||||
|
@@ -1,6 +1,13 @@
|
||||
{ inputs, outputs, config, lib, ... }:
|
||||
|
||||
{
|
||||
options = {
|
||||
settings.host = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
description = "Hostname";
|
||||
};
|
||||
};
|
||||
|
||||
imports = [
|
||||
./applications/alacritty.nix
|
||||
./applications/common.nix
|
||||
@@ -16,6 +23,7 @@
|
||||
./applications/wezterm.nix
|
||||
./applications/nushell.nix
|
||||
./applications/typst.nix
|
||||
./applications/obs-studio.nix
|
||||
|
||||
./services/nextcloud.nix
|
||||
./services/podman.nix
|
||||
@@ -25,6 +33,7 @@
|
||||
./theming/stylix.nix
|
||||
|
||||
./desktop-environments/hyprland/default.nix
|
||||
./desktop-environments/niri/default.nix
|
||||
|
||||
./containers/network.nix
|
||||
|
||||
|
@@ -15,7 +15,7 @@ in {
|
||||
};
|
||||
|
||||
imports = [
|
||||
./waybar.nix
|
||||
# ./waybar.nix
|
||||
./fixes.nix
|
||||
./dunst.nix
|
||||
./rofi.nix
|
||||
|
216
modules/home/desktop-environments/niri/default.nix
Normal file
216
modules/home/desktop-environments/niri/default.nix
Normal file
@@ -0,0 +1,216 @@
|
||||
{ config, pkgs, lib, inputs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.settings.desktop-environments.niri;
|
||||
in {
|
||||
options = {
|
||||
settings.desktop-environments.niri.enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
description = ''
|
||||
Enable niri window manager configuration
|
||||
'';
|
||||
default = false;
|
||||
};
|
||||
};
|
||||
|
||||
imports = [
|
||||
inputs.niri.homeModules.niri
|
||||
./waybar.nix
|
||||
./mako.nix
|
||||
./swww.nix
|
||||
];
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = with pkgs; [
|
||||
fuzzel
|
||||
brightnessctl
|
||||
];
|
||||
|
||||
programs.alacritty = {
|
||||
enable = true;
|
||||
settings = {
|
||||
window.decorations = "None";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
# Configure default applications
|
||||
xdg.mimeApps = {
|
||||
enable = true;
|
||||
defaultApplications = {
|
||||
"text/html" = "firefox.desktop";
|
||||
"x-scheme-handler/http" = "firefox.desktop";
|
||||
"x-scheme-handler/https" = "firefox.desktop";
|
||||
"x-scheme-handler/about" = "firefox.desktop";
|
||||
"x-scheme-handler/unknown" = "firefox.desktop";
|
||||
"application/pdf" = "firefox.desktop";
|
||||
};
|
||||
};
|
||||
|
||||
programs.niri.enable = true;
|
||||
programs.niri.package = pkgs.unstable.niri;
|
||||
|
||||
programs.niri.settings.outputs = lib.mkIf (config.settings.host == "ti-clt-dsk01") {
|
||||
"HDMI-A-1".position = {
|
||||
x = 1920;
|
||||
y = 0;
|
||||
};
|
||||
"DP-1".position = {
|
||||
x = 0;
|
||||
y = 0;
|
||||
};
|
||||
};
|
||||
|
||||
programs.niri.settings.layout = {
|
||||
gaps = 8;
|
||||
focus-ring = {
|
||||
width = 2;
|
||||
};
|
||||
preset-column-widths = [
|
||||
{ proportion = 1. / 3.; }
|
||||
{ proportion = 1. / 2.; }
|
||||
{ proportion = 2. / 3.; }
|
||||
];
|
||||
};
|
||||
|
||||
programs.niri.settings.workspaces = {
|
||||
"00-app" = { name = "app"; open-on-output = "DP-1"; };
|
||||
"01-term" = { name = "term"; open-on-output = "DP-1"; };
|
||||
"10-web" = { name = "web"; open-on-output = "HDMI-A-1"; };
|
||||
"11-mus" = { name = "mus"; open-on-output = "HDMI-A-1"; };
|
||||
"12-com" = { name = "com"; open-on-output = "HDMI-A-1"; };
|
||||
};
|
||||
|
||||
# Default startup applications
|
||||
programs.niri.settings.spawn-at-startup = [
|
||||
{ command = ["vesktop"]; }
|
||||
{ command = ["thunderbird"]; }
|
||||
{ command = ["xwayland-satellite" ":10"]; }
|
||||
];
|
||||
|
||||
programs.niri.settings.environment.DISPLAY = ":10";
|
||||
|
||||
programs.niri.settings.window-rules = [
|
||||
{
|
||||
matches = [
|
||||
{ at-startup = true; app-id = "vesktop"; }
|
||||
{ at-startup = true; app-id = "thunderbird"; }
|
||||
];
|
||||
open-on-workspace = "com";
|
||||
}
|
||||
];
|
||||
|
||||
# Configure overview
|
||||
programs.niri.settings.layer-rules = [
|
||||
{
|
||||
matches = [
|
||||
{ namespace = "wallpaper"; }
|
||||
];
|
||||
place-within-backdrop = true;
|
||||
}
|
||||
];
|
||||
|
||||
programs.niri.settings.binds = with config.lib.niri.actions; {
|
||||
"Mod+Shift+Slash".action = show-hotkey-overlay;
|
||||
|
||||
# Spawn applications
|
||||
"Mod+Space".action = spawn "fuzzel";
|
||||
"Mod+T".action = spawn "alacritty";
|
||||
"Mod+B".action = spawn "firefox";
|
||||
|
||||
# Volume controls
|
||||
"XF86AudioRaiseVolume".action = spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+";
|
||||
"XF86AudioLowerVolume".action = spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-";
|
||||
"XF86AudioMute".action = spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK" "toggle";
|
||||
|
||||
# Media controls
|
||||
"XF86AudioPlay".action = spawn "playerctl" "play-pause";
|
||||
"XF86AudioNext".action = spawn "playerctl" "next";
|
||||
"XF86AudioPrev".action = spawn "playerctl" "previous";
|
||||
|
||||
# Brightness controls
|
||||
"XF86MonBrightnessUp".action = spawn "brightnessctl" "set" "5%+";
|
||||
"XF86MonBrightnessDown".action = spawn "brightnessctl" "set" "5%-";
|
||||
|
||||
|
||||
"Mod+O".action = toggle-overview;
|
||||
"Mod+Q".action = close-window;
|
||||
"Mod+C".action = center-column;
|
||||
"Mod+R".action = switch-preset-column-width;
|
||||
"Mod+Escape".action = quit;
|
||||
|
||||
# Sizing
|
||||
"Mod+Minus".action = set-column-width "-10%";
|
||||
"Mod+Equal".action = set-column-width "+10%";
|
||||
|
||||
# Full screen
|
||||
"Mod+F".action = maximize-column;
|
||||
"Mod+Shift+F".action = fullscreen-window;
|
||||
"Mod+Ctrl+F".action = expand-column-to-available-width;
|
||||
|
||||
# Toggle floating
|
||||
"Mod+V".action = toggle-window-floating;
|
||||
"Mod+Shift+V".action = switch-focus-between-floating-and-tiling;
|
||||
|
||||
# Print screen
|
||||
"Print".action = screenshot { show-pointer=false; };
|
||||
|
||||
# Window focus
|
||||
"Mod+H".action = focus-column-left;
|
||||
"Mod+J".action = focus-window-down;
|
||||
"Mod+K".action = focus-window-up;
|
||||
"Mod+L".action = focus-column-right;
|
||||
|
||||
# Window moving
|
||||
"Mod+Ctrl+H".action = move-column-left;
|
||||
"Mod+Ctrl+J".action = move-window-down;
|
||||
"Mod+Ctrl+K".action = move-window-up;
|
||||
"Mod+Ctrl+L".action = move-column-right;
|
||||
|
||||
# Focus to different monitor
|
||||
"Mod+Shift+H".action = focus-monitor-left;
|
||||
"Mod+Shift+J".action = focus-monitor-down;
|
||||
"Mod+Shift+K".action = focus-monitor-up;
|
||||
"Mod+Shift+L".action = focus-monitor-right;
|
||||
|
||||
# Move to different monitor
|
||||
"Mod+Ctrl+Shift+H".action = move-column-to-monitor-left;
|
||||
"Mod+Ctrl+Shift+J".action = move-column-to-monitor-down;
|
||||
"Mod+Ctrl+Shift+K".action = move-column-to-monitor-up;
|
||||
"Mod+Ctrl+Shift+L".action = move-column-to-monitor-right;
|
||||
|
||||
# Switch workspaces
|
||||
"Mod+Page_Down".action = focus-workspace-down;
|
||||
"Mod+Page_Up".action = focus-workspace-up;
|
||||
"Mod+U".action = focus-workspace-down;
|
||||
"Mod+I".action = focus-workspace-up;
|
||||
|
||||
# Move workspaces
|
||||
"Mod+Ctrl+Page_Down".action = move-column-to-workspace-down;
|
||||
"Mod+Ctrl+Page_Up".action = move-column-to-workspace-up;
|
||||
"Mod+Ctrl+U".action = move-column-to-workspace-down;
|
||||
"Mod+Ctrl+I".action = move-column-to-workspace-up;
|
||||
|
||||
# Workspace scrolling
|
||||
"Mod+WheelScrollDown" = {
|
||||
action = focus-workspace-down;
|
||||
cooldown-ms = 150;
|
||||
};
|
||||
"Mod+WheelScrollUp" = {
|
||||
action = focus-workspace-up;
|
||||
cooldown-ms = 150;
|
||||
};
|
||||
"Mod+Shift+WheelScrollDown" = {
|
||||
action = focus-column-left;
|
||||
cooldown-ms = 150;
|
||||
};
|
||||
"Mod+Shift+WheelScrollUp" = {
|
||||
action = focus-column-right;
|
||||
cooldown-ms = 150;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
21
modules/home/desktop-environments/niri/mako.nix
Normal file
21
modules/home/desktop-environments/niri/mako.nix
Normal file
@@ -0,0 +1,21 @@
|
||||
{ config, pkgs, lib, inputs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.settings.desktop-environments.niri.mako;
|
||||
in {
|
||||
options = {
|
||||
settings.desktop-environments.niri.mako.enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
description = ''
|
||||
Enable mako notifiaction deamon
|
||||
'';
|
||||
default = config.settings.desktop-environments.niri.enable;
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.mako.enable = true;
|
||||
};
|
||||
}
|
56
modules/home/desktop-environments/niri/swww.nix
Normal file
56
modules/home/desktop-environments/niri/swww.nix
Normal file
@@ -0,0 +1,56 @@
|
||||
{ config, pkgs, lib, inputs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.settings.desktop-environments.niri.swww;
|
||||
in {
|
||||
options = {
|
||||
settings.desktop-environments.niri.swww.enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
description = ''
|
||||
Enable swww wallpapers deamon
|
||||
'';
|
||||
default = config.settings.desktop-environments.niri.enable;
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = with pkgs; [
|
||||
swww
|
||||
swaybg
|
||||
];
|
||||
|
||||
systemd.user.services.swaybg = {
|
||||
Unit = {
|
||||
After = [ "graphical-session.target" ];
|
||||
PartOf = [ "graphical-session.target" ];
|
||||
Requisite = [ "graphical-session.target" ];
|
||||
Description = "Enable swaybg wallpaper management";
|
||||
};
|
||||
Install = {
|
||||
WantedBy = [ "niri.service"];
|
||||
};
|
||||
Service = {
|
||||
ExecStart = ''${pkgs.swaybg}/bin/swaybg -m fill -i "%h/nix/assets/wallpaper-2-blurred.png"'';
|
||||
Restart = ''on-failure'';
|
||||
};
|
||||
};
|
||||
|
||||
systemd.user.services.swww = {
|
||||
Unit = {
|
||||
After = [ "graphical-session.target" ];
|
||||
PartOf = [ "graphical-session.target" ];
|
||||
Requisite = [ "graphical-session.target" ];
|
||||
Description = "Enable swww wallpaper management";
|
||||
};
|
||||
Install = {
|
||||
WantedBy = [ "niri.service"];
|
||||
};
|
||||
Service = {
|
||||
ExecStart = ''${pkgs.swww}/bin/swww-daemon'';
|
||||
Restart = ''on-failure'';
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
127
modules/home/desktop-environments/niri/waybar.nix
Normal file
127
modules/home/desktop-environments/niri/waybar.nix
Normal file
@@ -0,0 +1,127 @@
|
||||
{ config, pkgs, lib, inputs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.settings.desktop-environments.niri.waybar;
|
||||
in {
|
||||
options = {
|
||||
settings.desktop-environments.niri.waybar.enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
description = ''
|
||||
Enable waybar configuration for configuration
|
||||
'';
|
||||
default = config.settings.desktop-environments.niri.enable;
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
stylix.targets.waybar.addCss = false;
|
||||
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
package = pkgs.unstable.waybar;
|
||||
systemd.enable = true;
|
||||
};
|
||||
|
||||
programs.waybar.settings = {
|
||||
main = {
|
||||
layer = "top";
|
||||
position = "top";
|
||||
modules-left = [
|
||||
"niri/workspaces"
|
||||
];
|
||||
modules-center = [
|
||||
"clock"
|
||||
];
|
||||
modules-right = [
|
||||
"tray"
|
||||
"network"
|
||||
"pulseaudio"
|
||||
"battery"
|
||||
];
|
||||
|
||||
"clock" = {
|
||||
"format" = "{:%H:%M - %d}";
|
||||
};
|
||||
|
||||
"tray" = {
|
||||
"spacing" = 8;
|
||||
};
|
||||
|
||||
"battery" = {
|
||||
"bat" = "BAT1";
|
||||
"interval" = 60;
|
||||
"states" = {
|
||||
"warning" = 30;
|
||||
"critical" = 15;
|
||||
};
|
||||
"format" = "{icon} {capacity}%";
|
||||
"format-icons" = [ "" "" "" "" "" ];
|
||||
};
|
||||
|
||||
"pulseaudio" = {
|
||||
"format" = "{icon} {volume}%";
|
||||
"format-bluetooth" = "{volume}% {icon}";
|
||||
"format-muted" = "";
|
||||
"format-icons" = {
|
||||
"headphone" = "";
|
||||
"hands-free" = "";
|
||||
"headset" = "";
|
||||
"phone" = "";
|
||||
"portable" = "";
|
||||
"car" = "";
|
||||
"default" = ["" ""];
|
||||
};
|
||||
"scroll-step" = 1;
|
||||
"on-click" = "pavucontrol";
|
||||
"ignored-sinks" = ["Easy Effects Sink"];
|
||||
};
|
||||
|
||||
"network" = {
|
||||
"interface" = "wlan0";
|
||||
"format" = "{ifname}";
|
||||
"format-wifi" = " {essid}";
|
||||
"format-ethernet" = " {ipaddr}/{cidr}";
|
||||
"format-disconnected" = "";
|
||||
"tooltip-format" = "{ifname} via {gwaddr}";
|
||||
"tooltip-format-wifi" = "{essid} ({signalStrength}%)";
|
||||
"tooltip-format-ethernet" = "{ifname}";
|
||||
"tooltip-format-disconnected" = "Disconnected";
|
||||
"max-length" = 50;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs.waybar.style = /* css */''
|
||||
#workspaces,#window,#clock,#battery,#tray,#pulseaudio,#network {
|
||||
background-color: @base01;
|
||||
border-radius: 10px;
|
||||
padding: 0px 10px;
|
||||
margin-top: 3px;
|
||||
margin-left: 5px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 0 5px;
|
||||
background: transparent;
|
||||
color: @base05;
|
||||
border-bottom: 2px solid transparent;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
border-bottom: 2px solid @base05;
|
||||
}
|
||||
|
||||
#network {
|
||||
padding: 0 5px;
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
@@ -42,7 +42,11 @@ in {
|
||||
stylix.base16Scheme = lib.mkIf (cfg.theme != "theme") "${pkgs.base16-schemes}/share/themes/${cfg.theme}.yaml";
|
||||
|
||||
stylix.autoEnable = true;
|
||||
stylix.opacity.terminal = 0.95;
|
||||
|
||||
stylix.fonts.monospace = {
|
||||
package = pkgs.nerd-fonts.dejavu-sans-mono;
|
||||
name = "DejaVuSansM Nerd Font Propo";
|
||||
};
|
||||
|
||||
stylix.cursor = {
|
||||
package = pkgs.phinger-cursors;
|
||||
|
@@ -24,6 +24,7 @@
|
||||
./desktop-environments/cosmic.nix
|
||||
./desktop-environments/hyprland.nix
|
||||
./desktop-environments/gnome.nix
|
||||
./desktop-environments/niri.nix
|
||||
|
||||
./display-managers/default.nix
|
||||
];
|
||||
|
@@ -19,7 +19,6 @@ in {
|
||||
# ];
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.displayManager.cosmic-greeter.enable = true;
|
||||
services.desktopManager.cosmic.enable = true;
|
||||
|
||||
environment.sessionVariables = {
|
||||
|
49
modules/system/desktop-environments/niri.nix
Normal file
49
modules/system/desktop-environments/niri.nix
Normal file
@@ -0,0 +1,49 @@
|
||||
{ lib, config, inputs, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.settings.desktop-environments.niri;
|
||||
in {
|
||||
options = {
|
||||
settings.desktop-environments.niri.enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
description = ''
|
||||
Enable niri desktop environment
|
||||
'';
|
||||
default = false;
|
||||
};
|
||||
};
|
||||
|
||||
imports = [
|
||||
inputs.niri.nixosModules.niri
|
||||
];
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
nix = {
|
||||
settings = {
|
||||
substituters = [
|
||||
"https://niri.cachix.org"
|
||||
];
|
||||
trusted-public-keys = [
|
||||
"niri.cachix.org-1:Wv0OmO7PsuocRKzfDoJ3mulSl7Z6oezYhGhR+3W2964="
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
programs.niri.enable = true;
|
||||
programs.niri.package = pkgs.unstable.niri;
|
||||
nixpkgs.overlays = [ inputs.niri.overlays.niri ];
|
||||
environment.variables.NIXOS_OZONE_WL = "1";
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
wl-clipboard
|
||||
wayland-utils
|
||||
libsecret
|
||||
cage
|
||||
gamescope
|
||||
xwayland-satellite-unstable
|
||||
swaybg
|
||||
];
|
||||
};
|
||||
}
|
@@ -7,7 +7,7 @@ let
|
||||
in {
|
||||
options = {
|
||||
settings.display-manager = lib.mkOption {
|
||||
type = lib.types.enum ["sddm" "cosmic-greeter" "gdm" "none"];
|
||||
type = lib.types.enum ["sddm" "cosmic-greeter" "gdm" "none" "greetd"];
|
||||
description = ''
|
||||
Specify which display manager to use
|
||||
'';
|
||||
@@ -18,5 +18,6 @@ in {
|
||||
./sddm.nix
|
||||
./cosmic-greeter.nix
|
||||
./gdm.nix
|
||||
./greetd.nix
|
||||
];
|
||||
}
|
||||
|
35
modules/system/display-managers/greetd.nix
Normal file
35
modules/system/display-managers/greetd.nix
Normal file
@@ -0,0 +1,35 @@
|
||||
{ lib, config, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.settings.display-manager;
|
||||
in {
|
||||
config = mkIf (cfg == "greetd") {
|
||||
# systemd.services.greetd = {
|
||||
# serviceConfig.Type = "idle";
|
||||
# # unitConfig.After = [ "docker.service" ];
|
||||
# };
|
||||
|
||||
systemd.services.greetd.serviceConfig = {
|
||||
Type = "idle";
|
||||
StandardInput = "tty";
|
||||
StandardOutput = "tty";
|
||||
StandardError = "journal"; # Without this errors will spam on screen
|
||||
# Without these bootlogs will spam on screen
|
||||
TTYReset = true;
|
||||
TTYVHangup = true;
|
||||
TTYVTDisallocate = true;
|
||||
};
|
||||
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
settings = {
|
||||
default_session = {
|
||||
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --remember --cmd niri-session";
|
||||
user = "greeter";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
@@ -11,7 +11,7 @@
|
||||
unstable-packages = final: _prev: {
|
||||
unstable = import inputs.nixpkgs-unstable {
|
||||
system = final.system;
|
||||
config.allowUnfree = false;
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
Reference in New Issue
Block a user