Compare commits
63 Commits
d26d2d5116
...
main
Author | SHA1 | Date | |
---|---|---|---|
9ed92a3f91
|
|||
28ba8e57bc
|
|||
ae6da0ecc4
|
|||
ae4462d98f
|
|||
b0c1be575b
|
|||
4f1f1dfa77
|
|||
a7b7f92d94
|
|||
fae38b30e1
|
|||
e1c6428218
|
|||
a2f5757a36
|
|||
8b67965f22
|
|||
71dffa98ad
|
|||
5dfaa1d593
|
|||
9da8bbeb37
|
|||
d7d2a131aa
|
|||
489e53b3ca
|
|||
2b7235f3e6
|
|||
3266df0ae9
|
|||
541a9e9d7b
|
|||
6149734aa3
|
|||
9a2ff5baf8
|
|||
23a3c153f5
|
|||
cb97b5c09c
|
|||
e1f9112222
|
|||
fae62232cc
|
|||
dcf00b71fe
|
|||
409eb0e4d9
|
|||
168460efff
|
|||
85ff8412a7
|
|||
f26f739f29
|
|||
5be09f440a
|
|||
254ae35c72
|
|||
6eff12ec36
|
|||
30c4ee388f
|
|||
bb14d0ed56
|
|||
229804be02
|
|||
625b1d0249
|
|||
9fe61160a8
|
|||
38a7200862
|
|||
eb85c39a96
|
|||
8809d6a5d4
|
|||
71d0c7a202
|
|||
8a352b287f
|
|||
a7bb2b53f9
|
|||
49c0c5fcc3
|
|||
62d2fd6779
|
|||
a463dec994
|
|||
052499525b
|
|||
9945f74cfa
|
|||
659efbcb3e
|
|||
9cc53818e3
|
|||
f7b84c1de6
|
|||
3beca553a2
|
|||
175171a3c1
|
|||
05d4fb2cf1
|
|||
4f064d5451
|
|||
9e10776439
|
|||
6111707cc0
|
|||
23179e6e92
|
|||
5384754f60
|
|||
4ccbc6e5bf
|
|||
ea4d8c172d
|
|||
53832e7687
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -1 +1,2 @@
|
||||
/.direnv/
|
||||
/dconf.nix
|
||||
|
@ -27,6 +27,7 @@ home-manager switch --flake .#[configuration]
|
||||
```
|
||||
|
||||
After first deployment it suffices to do `hms` for `home-manager switch ...`.
|
||||
This relies on the flake being saved to `$HOME/.config/home-manager`.
|
||||
|
||||
## Laptop
|
||||
|
||||
|
364
flake.lock
generated
364
flake.lock
generated
@ -1,13 +1,29 @@
|
||||
{
|
||||
"nodes": {
|
||||
"appimage-runtime": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1652289700,
|
||||
"narHash": "sha256-uxQBDy/JA7uEboTOUmGaZ2FAKY/0dQ9c0A0N8+J+a7I=",
|
||||
"owner": "AppImageCrafters",
|
||||
"repo": "appimage-runtime",
|
||||
"rev": "6500a1ef68e039caba2ebab1c7ed74c2ea9e67a5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "AppImageCrafters",
|
||||
"repo": "appimage-runtime",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1673956053,
|
||||
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
|
||||
"lastModified": 1650374568,
|
||||
"narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
|
||||
"rev": "b4a34015c698c7793d592d66adbab377907a2be8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -32,13 +48,29 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_3": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1673956053,
|
||||
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"locked": {
|
||||
"lastModified": 1667395993,
|
||||
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
|
||||
"lastModified": 1656928814,
|
||||
"narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
|
||||
"rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -48,12 +80,48 @@
|
||||
}
|
||||
},
|
||||
"flake-utils_2": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1659877975,
|
||||
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
|
||||
"lastModified": 1685518550,
|
||||
"narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
|
||||
"rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_3": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1681202837,
|
||||
"narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "cfacdce06f30d2b68473a46042957675eebb3401",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_4": {
|
||||
"locked": {
|
||||
"lastModified": 1667395993,
|
||||
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -91,20 +159,42 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1694465129,
|
||||
"narHash": "sha256-8BQiuobMrCfCbGM7w6Snx+OBYdtTIm0+cGVaKwQ5BFg=",
|
||||
"lastModified": 1706981411,
|
||||
"narHash": "sha256-cLbLPTL1CDmETVh4p0nQtvoF+FSEjsnJTFpTxhXywhQ=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "9787dffff5d315c9593d3f9fb0f9bf2097e1b57b",
|
||||
"rev": "652fda4ca6dafeb090943422c34ae9145787af37",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "release-23.05",
|
||||
"ref": "release-23.11",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-appimage": {
|
||||
"inputs": {
|
||||
"appimage-runtime": "appimage-runtime",
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"squashfuse": "squashfuse"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1695276866,
|
||||
"narHash": "sha256-/BBbYIoDhIPcVwhvau/g4lzrjTnudeRLW5qaTu7LAVs=",
|
||||
"owner": "ralismark",
|
||||
"repo": "nix-appimage",
|
||||
"rev": "17dd6001ec228ea0b8505d6904fc5796d3de5012",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "ralismark",
|
||||
"repo": "nix-appimage",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-index-database": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@ -112,11 +202,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1694921880,
|
||||
"narHash": "sha256-yU36cs5UdzhTwsM9bUWUz43N//ELzQ1ro69C07pU/8E=",
|
||||
"lastModified": 1707016097,
|
||||
"narHash": "sha256-V4lHr6hFQ3rK650dh64Xffxsf4kse9vUYWsM+ldjkco=",
|
||||
"owner": "Mic92",
|
||||
"repo": "nix-index-database",
|
||||
"rev": "9d2bcc47110b3b6217dfebd6761ba20bc78aedf2",
|
||||
"rev": "3e3dad2808379c522138e2e8b0eb73500721a237",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -127,32 +217,16 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1694937365,
|
||||
"narHash": "sha256-iHZSGrb9gVpZRR4B2ishUN/1LRKWtSHZNO37C8z1SmA=",
|
||||
"lastModified": 1707091808,
|
||||
"narHash": "sha256-LahKBAfGbY836gtpVNnWwBTIzN7yf/uYM/S0g393r0Y=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "5d017a8822e0907fb96f7700a319f9fe2434de02",
|
||||
"rev": "9f2ee8c91ac42da3ae6c6a1d21555f283458247e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-23.05",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-master": {
|
||||
"locked": {
|
||||
"lastModified": 1694974614,
|
||||
"narHash": "sha256-0mXsTjf6bAtRStahFiRxT1o8SiegvI02tZoIAhczZLE=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "2e2c6b2f027463700b557143cb04d561d8b63f9c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "master",
|
||||
"ref": "nixos-23.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
@ -173,61 +247,28 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1694767346,
|
||||
"narHash": "sha256-5uH27SiVFUwsTsqC5rs3kS7pBoNhtoy9QfTP9BmknGk=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "ace5093e36ab1e95cb9463863491bee90d5a4183",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1675309347,
|
||||
"narHash": "sha256-D3CQ6HRDT2m3XJlrzb5jKq4vNFR5xFTEFKC7iSjlFpM=",
|
||||
"lastModified": 1659526864,
|
||||
"narHash": "sha256-XFzXrc1+6DZb9hBgHfEzfwylPUSqVFJbQPs8eOgYufU=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "006c3bd4dd2f5d1d2094047f307cbf9e2b73d9c5",
|
||||
"rev": "478f3cbc8448b5852539d785fbfe9a53304133be",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1689088367,
|
||||
"narHash": "sha256-Y2tl2TlKCWEHrOeM9ivjCLlRAKH3qoPUE/emhZECU14=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "5c9ddb86679c400d6b7360797b8a22167c2053f8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "release-23.05",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
"id": "nixpkgs",
|
||||
"ref": "nixos-22.05",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nur": {
|
||||
"locked": {
|
||||
"lastModified": 1694975080,
|
||||
"narHash": "sha256-yxk3j1fV+f+BtNXgKgYgHS+hxAOBKCOGKQCZnuGJrjI=",
|
||||
"lastModified": 1707245063,
|
||||
"narHash": "sha256-1E7kPslBZpGTmz7UTR/HnpCy8Rfc4Kv/njBiTTF1G2g=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "851838871ae06d27373ca51878fef8591c1e1260",
|
||||
"rev": "cd11db9649316bcd231a6ab9c677284ee0d8c184",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -238,7 +279,7 @@
|
||||
},
|
||||
"pre-commit-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-compat": "flake-compat_3",
|
||||
"flake-utils": [
|
||||
"wallpaper",
|
||||
"flake-utils"
|
||||
@ -269,17 +310,150 @@
|
||||
"home-manager": "home-manager",
|
||||
"nix-index-database": "nix-index-database",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs-master": "nixpkgs-master",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||
"nur": "nur",
|
||||
"wallpaper": "wallpaper",
|
||||
"zig": "zig"
|
||||
"scanned-image-extractor": "scanned-image-extractor",
|
||||
"spicetify": "spicetify",
|
||||
"starc": "starc",
|
||||
"vscode-extensions": "vscode-extensions",
|
||||
"wallpaper": "wallpaper"
|
||||
}
|
||||
},
|
||||
"scanned-image-extractor": {
|
||||
"inputs": {
|
||||
"nix-appimage": "nix-appimage",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1707220285,
|
||||
"narHash": "sha256-JWXtWnw07xLTPeE51eiNS3MeMltP11DiS5cYsT1r1Tc=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "846a94c50f089cafe49903ce6e157fe714520a8a",
|
||||
"revCount": 11,
|
||||
"type": "git",
|
||||
"url": "https://git.krsnik.at/Kristian/scanned-image-extractor.git"
|
||||
},
|
||||
"original": {
|
||||
"type": "git",
|
||||
"url": "https://git.krsnik.at/Kristian/scanned-image-extractor.git"
|
||||
}
|
||||
},
|
||||
"spicetify": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_2",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1704167711,
|
||||
"narHash": "sha256-kFDq+kf/Di/P8bq5sUP8pVwRkrSVrABksBjMPmLic3s=",
|
||||
"owner": "the-argus",
|
||||
"repo": "spicetify-nix",
|
||||
"rev": "1325416f951d6a82cfddb1289864ad782e2b87c4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "the-argus",
|
||||
"repo": "spicetify-nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"squashfuse": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1655253282,
|
||||
"narHash": "sha256-RIhDXzpmrYUOwj5OYzjWKJw0cwE+L3t/9pIkg/hFXA0=",
|
||||
"owner": "vasi",
|
||||
"repo": "squashfuse",
|
||||
"rev": "d1d7ddafb765098b34239eacaf2f9abee1fbc27c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "vasi",
|
||||
"repo": "squashfuse",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"starc": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1707220280,
|
||||
"narHash": "sha256-VBgd9wOebW7RWym52434Mgz5w2k1csgw35JAe28Buvs=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "5586cecb4f76dea16f38b2c0678904edbcfb191b",
|
||||
"revCount": 18,
|
||||
"type": "git",
|
||||
"url": "https://git.krsnik.at/Kristian/starc-flake.git"
|
||||
},
|
||||
"original": {
|
||||
"type": "git",
|
||||
"url": "https://git.krsnik.at/Kristian/starc-flake.git"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"vscode-extensions": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_2",
|
||||
"flake-utils": "flake-utils_3",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1707182119,
|
||||
"narHash": "sha256-Egt1PmjNAbx2nS0h/iWpaTCcOzLPHpRXzTJBt3waEAs=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-vscode-extensions",
|
||||
"rev": "4e7767c214364217e0a7611dca3f3420555ceb20",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-vscode-extensions",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"wallpaper": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"flake-utils": "flake-utils_4",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"pre-commit-hooks": "pre-commit-hooks"
|
||||
},
|
||||
"locked": {
|
||||
@ -295,26 +469,6 @@
|
||||
"repo": "nix-wallpaper",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"zig": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_2",
|
||||
"flake-utils": "flake-utils_2",
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1694952442,
|
||||
"narHash": "sha256-9CblLz91gHuz5NTrZcW/Q53wT0i1N3Px5xKjpJGmm/k=",
|
||||
"owner": "mitchellh",
|
||||
"repo": "zig-overlay",
|
||||
"rev": "2689ccaadb1737efa23398844efef1fc73ad7fa4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "mitchellh",
|
||||
"repo": "zig-overlay",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
|
126
flake.nix
126
flake.nix
@ -2,84 +2,112 @@
|
||||
description = "Home Manager configuration of kristian";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-23.05";
|
||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
nixpkgs-master.url = "github:nixos/nixpkgs/master";
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11";
|
||||
# nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
# nixpkgs-master.url = "github:nixos/nixpkgs/master";
|
||||
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager/release-23.05";
|
||||
url = "github:nix-community/home-manager/release-23.11";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
# Nix User Repository
|
||||
nur.url = "github:nix-community/NUR";
|
||||
nur = {
|
||||
url = "github:nix-community/NUR";
|
||||
};
|
||||
|
||||
# Zig
|
||||
zig.url = "github:mitchellh/zig-overlay";
|
||||
wallpaper = {
|
||||
url = "github:lunik1/nix-wallpaper";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
# Wallpaper
|
||||
wallpaper.url = "github:lunik1/nix-wallpaper";
|
||||
|
||||
# Nix index
|
||||
nix-index-database = {
|
||||
url = "github:Mic92/nix-index-database";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
vscode-extensions = {
|
||||
url = "github:nix-community/nix-vscode-extensions";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
spicetify = {
|
||||
url = "github:the-argus/spicetify-nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
starc = {
|
||||
url = "git+https://git.krsnik.at/Kristian/starc-flake.git";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
scanned-image-extractor = {
|
||||
url = "git+https://git.krsnik.at/Kristian/scanned-image-extractor.git";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = {
|
||||
self,
|
||||
nixpkgs,
|
||||
nixpkgs-unstable,
|
||||
nixpkgs-master,
|
||||
# nixpkgs-unstable,
|
||||
# nixpkgs-master,
|
||||
home-manager,
|
||||
nur,
|
||||
zig,
|
||||
wallpaper,
|
||||
nix-index-database,
|
||||
vscode-extensions,
|
||||
spicetify,
|
||||
starc,
|
||||
scanned-image-extractor,
|
||||
}: let
|
||||
system = "x86_64-linux";
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
in {
|
||||
formatter.${system} = pkgs.alejandra;
|
||||
|
||||
commonModules = [
|
||||
./systems/common
|
||||
homeConfigurations = let
|
||||
commonModules = [
|
||||
./systems/common
|
||||
{
|
||||
_module.args = {
|
||||
inherit spicetify;
|
||||
wallpaper = wallpaper.packages.${system}.default;
|
||||
libs = import ./libs;
|
||||
};
|
||||
}
|
||||
|
||||
{
|
||||
_module.args.wallpaper = wallpaper.packages.${system}.default;
|
||||
}
|
||||
spicetify.homeManagerModule
|
||||
|
||||
nur.nixosModules.nur
|
||||
nur.nixosModules.nur
|
||||
|
||||
nix-index-database.hmModules.nix-index
|
||||
{
|
||||
programs.nix-index-database.comma.enable = true;
|
||||
}
|
||||
nix-index-database.hmModules.nix-index
|
||||
{
|
||||
programs.nix-index-database.comma.enable = true;
|
||||
}
|
||||
|
||||
{
|
||||
nixpkgs.overlays = [
|
||||
zig.overlays.default # Add zig
|
||||
( # https://github.com/nix-community/home-manager/issues/1538#issuecomment-706627100
|
||||
final: prev: {
|
||||
unstable = import nixpkgs-unstable {
|
||||
system = final.system;
|
||||
config.allowUnfreePredicate = _: true;
|
||||
};
|
||||
master = import nixpkgs-master {
|
||||
system = final.system;
|
||||
config.allowUnfreePredicate = _: true;
|
||||
};
|
||||
}
|
||||
)
|
||||
( # Overrides davinci-resolve with the unstable version because of https://github.com/NixOS/nixpkgs/pull/246074
|
||||
final: prev: {davinci-resolve = final.master.davinci-resolve;}
|
||||
)
|
||||
];
|
||||
}
|
||||
];
|
||||
{
|
||||
nixpkgs.overlays = [
|
||||
vscode-extensions.overlays.default
|
||||
|
||||
homeConfigurations = {
|
||||
starc.overlays.default
|
||||
scanned-image-extractor.overlays.default
|
||||
|
||||
# ( # https://github.com/nix-community/home-manager/issues/1538#issuecomment-706627100
|
||||
# final: prev: {
|
||||
# unstable = import nixpkgs-unstable {
|
||||
# system = final.system;
|
||||
# config.allowUnfreePredicate = _: true;
|
||||
# };
|
||||
# master = import nixpkgs-master {
|
||||
# system = final.system;
|
||||
# config.allowUnfreePredicate = _: true;
|
||||
# };
|
||||
# }
|
||||
# )
|
||||
];
|
||||
}
|
||||
];
|
||||
in {
|
||||
pc = home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
|
||||
@ -87,7 +115,7 @@
|
||||
[
|
||||
./systems/pc
|
||||
]
|
||||
++ self.commonModules;
|
||||
++ commonModules;
|
||||
};
|
||||
|
||||
laptop = home-manager.lib.homeManagerConfiguration {
|
||||
@ -97,7 +125,7 @@
|
||||
[
|
||||
./systems/laptop
|
||||
]
|
||||
++ self.commonModules;
|
||||
++ commonModules;
|
||||
};
|
||||
};
|
||||
|
||||
|
16
libs/default.nix
Normal file
16
libs/default.nix
Normal file
@ -0,0 +1,16 @@
|
||||
{
|
||||
mkAutostart = {
|
||||
pkgs,
|
||||
name,
|
||||
command,
|
||||
}: {
|
||||
source = "${
|
||||
pkgs.makeDesktopItem {
|
||||
name = "${name}-autostart";
|
||||
desktopName = "${name}-autostart";
|
||||
exec = command;
|
||||
noDisplay = true;
|
||||
}
|
||||
}/share/applications/${name}-autostart.desktop";
|
||||
};
|
||||
}
|
@ -7,6 +7,7 @@
|
||||
'';
|
||||
|
||||
shellAliases = {
|
||||
code = "codium"; # Alias VSCode with VSCodium
|
||||
ll = "ls -lh";
|
||||
la = "ls -lah";
|
||||
".." = "cd ..";
|
||||
|
@ -26,7 +26,9 @@
|
||||
./gnome.nix
|
||||
./gpg.nix
|
||||
./nvim
|
||||
./obs.nix
|
||||
./packages.nix
|
||||
./spiceify.nix
|
||||
./thunderbird.nix
|
||||
./vscode.nix
|
||||
./mpv.nix
|
||||
@ -35,18 +37,21 @@
|
||||
# Programs
|
||||
programs = {
|
||||
home-manager.enable = true; # Allow home-manager to manage itself
|
||||
obs-studio.enable = true;
|
||||
yt-dlp.enable = true;
|
||||
};
|
||||
|
||||
xdg.mimeApps = {
|
||||
enable = true;
|
||||
|
||||
defaultApplications = {
|
||||
"image/png" = ["org.gnome.eog.desktop"];
|
||||
"image/jpeg" = ["org.gnome.eog.desktop"];
|
||||
"video/webm" = ["mpv.desktop"];
|
||||
"application/pdf" = ["org.gnome.Evince.desktop"];
|
||||
defaultApplications = let
|
||||
imageViewer = ["org.gnome.Loupe.desktop"];
|
||||
videoViewer = ["mpv.desktop"];
|
||||
documentViewer = ["org.gnome.Evince.desktop"];
|
||||
in {
|
||||
"image/png" = imageViewer;
|
||||
"image/jpeg" = imageViewer;
|
||||
"video/webm" = videoViewer;
|
||||
"application/pdf" = documentViewer;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -13,6 +13,7 @@
|
||||
sidebery
|
||||
sponsorblock
|
||||
dearrow
|
||||
user-agent-string-switcher
|
||||
];
|
||||
|
||||
settings = {
|
||||
|
@ -1,9 +1,11 @@
|
||||
{...}: {
|
||||
programs.git = rec {
|
||||
enable = true;
|
||||
|
||||
programs.git = let
|
||||
userName = "Kristian Krsnik";
|
||||
userEmail = "git@krsnik.at";
|
||||
in {
|
||||
enable = true;
|
||||
|
||||
inherit userName userEmail;
|
||||
|
||||
signing = {
|
||||
key = userEmail;
|
||||
|
@ -35,14 +35,12 @@
|
||||
in {
|
||||
picture-uri = "file://${wallpaper.override {
|
||||
preset = "nord-snow-aurora";
|
||||
inherit width;
|
||||
inherit height;
|
||||
inherit width height;
|
||||
}}/share/wallpapers/nixos-wallpaper.png";
|
||||
|
||||
picture-uri-dark = "file://${wallpaper.override {
|
||||
preset = "nord-night-aurora";
|
||||
inherit width;
|
||||
inherit height;
|
||||
inherit width height;
|
||||
}}/share/wallpapers/nixos-wallpaper.png";
|
||||
};
|
||||
|
||||
@ -53,6 +51,10 @@
|
||||
move-to-workspace-right = ["<Shift><Alt>2"];
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys" = {
|
||||
mic-mute = ["<Shift>AudioMute"];
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
|
||||
binding = "<Shift><Alt>a";
|
||||
command = "kgx";
|
||||
@ -75,6 +77,7 @@
|
||||
"org/gnome/mutter" = {
|
||||
edge-tiling = true;
|
||||
dynamic-workspaces = true;
|
||||
workspaces-only-on-primary = true;
|
||||
};
|
||||
|
||||
"org/gnome/Console" = {
|
||||
@ -99,14 +102,5 @@
|
||||
"org/gnome/nautilus/preferences" = {
|
||||
show-image-thumbnails = "always";
|
||||
};
|
||||
|
||||
"org/gnome/Weather" = {
|
||||
locations = "[<(uint32 2, <('Vienna', 'LOWW', true, [(0.83979426423570236, 0.2891428852314914)], [(0.84124869946126679, 0.28565222672750273)])>)>]";
|
||||
};
|
||||
|
||||
"org/gnome/shell/weather" = {
|
||||
automatic-location = true;
|
||||
locations = "[<(uint32 2, <('Vienna', 'LOWW', true, [(0.83979426423570236, 0.2891428852314914)], [(0.84124869946126679, 0.28565222672750273)])>)>]";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
32
systems/common/obs.nix
Normal file
32
systems/common/obs.nix
Normal file
@ -0,0 +1,32 @@
|
||||
{
|
||||
pkgs,
|
||||
libs,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
cfg = config.programs.obs;
|
||||
in {
|
||||
options.programs.obs = {
|
||||
autostart = pkgs.lib.mkOption {
|
||||
type = pkgs.lib.types.bool;
|
||||
default = false;
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
programs.obs-studio = {
|
||||
enable = true;
|
||||
plugins = with pkgs.obs-studio-plugins; [
|
||||
obs-source-record
|
||||
];
|
||||
};
|
||||
|
||||
xdg.configFile = pkgs.lib.mkIf cfg.autostart {
|
||||
"autostart/obs-autostart.desktop" = libs.mkAutostart {
|
||||
inherit pkgs;
|
||||
name = "obs";
|
||||
command = "obs --startreplaybuffer";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
@ -6,12 +6,20 @@
|
||||
nixpkgs.config = {
|
||||
allowUnfree = false;
|
||||
|
||||
permittedInsecurePackages = [
|
||||
"electron-25.9.0"
|
||||
];
|
||||
|
||||
allowUnfreePredicate = pkg:
|
||||
builtins.elem (lib.getName pkg) [
|
||||
"vscode"
|
||||
"vscode-extension-MS-python-vscode-pylance"
|
||||
"vscode-extension-github-copilot"
|
||||
"osu-lazer"
|
||||
"spotify"
|
||||
"linuxsampler"
|
||||
"libsciter"
|
||||
"obsidian"
|
||||
"steam"
|
||||
"steam-original"
|
||||
"davinci-resolve"
|
||||
];
|
||||
};
|
||||
|
||||
@ -24,10 +32,17 @@
|
||||
keepassxc
|
||||
logseq
|
||||
xournalpp
|
||||
libreoffice
|
||||
onlyoffice-bin
|
||||
|
||||
# For windows applications
|
||||
bottles
|
||||
|
||||
# Games
|
||||
lutris
|
||||
osu-lazer
|
||||
r2modman
|
||||
prismlauncher
|
||||
|
||||
# Communication
|
||||
webcord
|
||||
@ -37,12 +52,59 @@
|
||||
|
||||
# Creative software
|
||||
gimp
|
||||
inkscape
|
||||
davinci-resolve
|
||||
|
||||
ardour # DAW
|
||||
# plugins
|
||||
sfizz
|
||||
swh_lv2
|
||||
zynaddsubfx
|
||||
caps
|
||||
cmt
|
||||
distrho
|
||||
surge
|
||||
calf
|
||||
dexed
|
||||
odin2
|
||||
ninjas2
|
||||
linuxsampler
|
||||
|
||||
yabridge
|
||||
yabridgectl
|
||||
|
||||
geonkick # for drums
|
||||
|
||||
# Misc
|
||||
gnome-decoder
|
||||
tor-browser-bundle-bin
|
||||
obsidian
|
||||
easyeffects
|
||||
|
||||
starc
|
||||
scanned-image-extractor
|
||||
|
||||
rustdesk
|
||||
wireshark
|
||||
mullvad-vpn
|
||||
|
||||
# Entertainment
|
||||
hypnotix
|
||||
|
||||
# VPN client for university
|
||||
(
|
||||
pkgs.writeScriptBin "univpn"
|
||||
''
|
||||
read -p "Username: " username
|
||||
read -s -p "Password: " password
|
||||
|
||||
# newline
|
||||
echo ""
|
||||
|
||||
read -p "OTP: " otp
|
||||
|
||||
sudo ${pkgs.gof5}/bin/gof5 --server "vpn.univie.ac.at" --username "$username@$otp" --password "$password"
|
||||
''
|
||||
)
|
||||
];
|
||||
}
|
||||
|
23
systems/common/spiceify.nix
Normal file
23
systems/common/spiceify.nix
Normal file
@ -0,0 +1,23 @@
|
||||
{
|
||||
pkgs,
|
||||
spicetify,
|
||||
...
|
||||
}: let
|
||||
spicePkgs = spicetify.packages.${pkgs.system}.default;
|
||||
in {
|
||||
programs.spicetify = {
|
||||
enable = true;
|
||||
|
||||
theme = spicePkgs.themes.text;
|
||||
colorScheme = "CatppuccinLatte";
|
||||
|
||||
enabledExtensions = with spicePkgs.extensions; [
|
||||
shuffle # shuffle+ (special characters are sanitized out of ext names)
|
||||
groupSession
|
||||
wikify
|
||||
fullScreen
|
||||
playlistIntersection
|
||||
phraseToPlaylist
|
||||
];
|
||||
};
|
||||
}
|
@ -2,6 +2,8 @@
|
||||
programs.vscode = {
|
||||
enable = true;
|
||||
|
||||
package = pkgs.vscodium; # Replace VSCode with VSCodium
|
||||
|
||||
enableUpdateCheck = false;
|
||||
enableExtensionUpdateCheck = false;
|
||||
|
||||
@ -13,28 +15,38 @@
|
||||
}
|
||||
];
|
||||
|
||||
extensions = with pkgs.vscode-extensions; [
|
||||
# This will only yield extensions that are compatible with the installed version of vscode
|
||||
extensions = with pkgs.vscode-marketplace; [
|
||||
jnoortheen.nix-ide
|
||||
arrterian.nix-env-selector
|
||||
mkhl.direnv
|
||||
ms-python.python
|
||||
ms-python.vscode-pylance
|
||||
ms-python.autopep8
|
||||
james-yu.latex-workshop
|
||||
github.copilot
|
||||
davidanson.vscode-markdownlint
|
||||
tamasfe.even-better-toml
|
||||
asciidoctor.asciidoctor-vscode
|
||||
ziglang.vscode-zig
|
||||
slevesque.shader
|
||||
ms-vscode.cpptools
|
||||
nvarner.typst-lsp
|
||||
redhat.java
|
||||
|
||||
streetsidesoftware.code-spell-checker
|
||||
streetsidesoftware.code-spell-checker-german
|
||||
];
|
||||
|
||||
userSettings = {
|
||||
"git.enableCommitSigning" = true;
|
||||
|
||||
"window.menuBarVisibility" = "hidden";
|
||||
"window.menuBarVisibility" = "toggle";
|
||||
|
||||
"editor.fontFamily" = "'FiraCode Nerd Font'";
|
||||
"editor.fontLigatures" = true;
|
||||
"editor.minimap.enabled" = false;
|
||||
|
||||
"extensions.ignoreRecommendations" = true;
|
||||
|
||||
"[nix]" = {
|
||||
"editor.formatOnSave" = true;
|
||||
"editor.formatOnSaveMode" = "file"; # modificationsIfAvailable does not work
|
||||
@ -43,6 +55,17 @@
|
||||
"[python]" = {
|
||||
"editor.formatOnSave" = true;
|
||||
"editor.formatOnSaveMode" = "modificationsIfAvailable";
|
||||
"editor.defaultFormatter" = "ms-python.autopep8";
|
||||
};
|
||||
|
||||
"[javascript]" = {
|
||||
"editor.formatOnSave" = true;
|
||||
"editor.formatOnSaveMode" = "modificationsIfAvailable";
|
||||
};
|
||||
|
||||
"[typescript]" = {
|
||||
"editor.formatOnSave" = true;
|
||||
"editor.formatOnSaveMode" = "modificationsIfAvailable";
|
||||
};
|
||||
|
||||
"[latex]" = {
|
||||
@ -52,10 +75,24 @@
|
||||
|
||||
"[toml]" = {
|
||||
"editor.formatOnSave" = true;
|
||||
"editor.modificationsIfAvailable" = "file";
|
||||
"editor.formatOnSaveMode" = "modificationsIfAvailable";
|
||||
};
|
||||
|
||||
"python.formatting.autopep8Path" = "${pkgs.python311Packages.autopep8}/bin/autopep8";
|
||||
"[c]" = {
|
||||
"editor.formatOnSave" = true;
|
||||
"editor.formatOnSaveMode" = "modificationsIfAvailable";
|
||||
};
|
||||
|
||||
"[cpp]" = {
|
||||
"editor.formatOnSave" = true;
|
||||
"editor.formatOnSaveMode" = "modificationsIfAvailable";
|
||||
};
|
||||
|
||||
"[typst]" = {
|
||||
"editor.defaultFormatter" = "nvarner.typst-lsp";
|
||||
"editor.formatOnSave" = true;
|
||||
"editor.formatOnSaveMode" = "modificationsIfAvailable";
|
||||
};
|
||||
|
||||
"nix.enableLanguageServer" = true;
|
||||
"nix.serverPath" = "${pkgs.nil}/bin/nil";
|
||||
@ -76,6 +113,24 @@
|
||||
};
|
||||
};
|
||||
"terminal.integrated.defaultProfile.linux" = "bash";
|
||||
|
||||
"cSpell.language" = "en,de-de";
|
||||
|
||||
"zig.path" = "";
|
||||
"zig.zls.path" = "";
|
||||
"zig.initialSetupDone" = true;
|
||||
|
||||
"typst-lsp.serverPath" = "${pkgs.typst-lsp}/bin/typst-lsp";
|
||||
"typst-lsp.experimentalFormatterMode" = "on";
|
||||
|
||||
"C_Cpp.default.compilerPath" = "${pkgs.gnat}/bin/g++";
|
||||
"C_Cpp.default.includePath" = [
|
||||
"\${workspaceFolder}/**"
|
||||
];
|
||||
"C_Cpp.clang_format_fallbackStyle" = "Microsoft";
|
||||
|
||||
"redhat.telemetry.enabled" = false;
|
||||
"java.jdt.ls.java.home" = "${pkgs.jdk21_headless}";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -11,4 +11,6 @@
|
||||
power-button-action = "hibernate";
|
||||
};
|
||||
};
|
||||
|
||||
programs.obs.autostart = false;
|
||||
}
|
||||
|
@ -11,4 +11,6 @@
|
||||
power-button-action = "suspend";
|
||||
};
|
||||
};
|
||||
|
||||
programs.obs.autostart = true;
|
||||
}
|
||||
|
Reference in New Issue
Block a user