Compare commits
68 Commits
home-manag
...
main
Author | SHA1 | Date | |
---|---|---|---|
92e5a1671d | |||
8ec20b96d6 | |||
1da8bcdfd5 | |||
12d4f46367 | |||
c87bb2a81d | |||
1809debd9b | |||
f0d145c9f5 | |||
94b26d8651 | |||
03eb3b604a | |||
015506c0a9 | |||
b7fe8183e2 | |||
2196c9aac3 | |||
ea0e37aa82 | |||
66d0de2aa6 | |||
18e1d2644a | |||
25d882f6ac | |||
![]() |
f4983500fd | ||
![]() |
f8145f3731 | ||
5020f2dcc6 | |||
16d42cfd4e | |||
0528a60060 | |||
8ff07c6d47 | |||
![]() |
9fe5f6e656 | ||
![]() |
3ec815d3e6 | ||
aa51a62839 | |||
b25386163e | |||
f90b2bed4e | |||
63637c1120 | |||
612a38c3f7 | |||
88395bdce5 | |||
af9699399b | |||
7174fd6ed8 | |||
12e292260d | |||
87a21720f2 | |||
4503aeb775 | |||
c61fbf3d42 | |||
4831928351 | |||
1f3653c6fb | |||
a3a16daf2a | |||
138933566b | |||
2c5538ad3e | |||
30a5f03eed | |||
4811ba6d00 | |||
f7cc91e850 | |||
1ca723e500 | |||
d97b5629fc | |||
1baab2c82e | |||
7c04a2da97 | |||
3dfdd8c074 | |||
36094b083a | |||
e625e79bda | |||
fae95bef71 | |||
52727239f6 | |||
67decdc3c8 | |||
35360563be | |||
b6a57da145 | |||
d8fa2eb8c9 | |||
843270e01f | |||
825829228e | |||
7d56fbed00 | |||
0a726e9740 | |||
a807e8550b | |||
a3bfc27024 | |||
58128b2ee6 | |||
a67e367c68 | |||
71bcde6239 | |||
d78d7c278d | |||
3f9e7ece81 |
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
https://github.com/Misterio77/nix-starter-configs
|
https://github.com/Misterio77/nix-starter-configs
|
||||||
|
|
||||||
## Notes
|
## Notes
|
||||||
@ -8,6 +7,13 @@ https://github.com/Misterio77/nix-starter-configs
|
|||||||
nixos-rebuild build-vm --flake ./#athame
|
nixos-rebuild build-vm --flake ./#athame
|
||||||
```
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sh <(curl -L https://nixos.org/nix/install) --daemon
|
||||||
|
nix-shell -p home-manager
|
||||||
|
home-manager switch --flake git+https://codeberg.org/traverseda/nixos-config.git?ref=main#traverseda@generic --extra-experimental-features nix-command --extra-experimental-features flakes
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
## Building a LiveCD
|
## Building a LiveCD
|
||||||
|
|
||||||
To build a livecd using this flake, you can use the following command:
|
To build a livecd using this flake, you can use the following command:
|
||||||
|
258
flake.lock
258
flake.lock
@ -8,11 +8,11 @@
|
|||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1715290355,
|
"lastModified": 1723293904,
|
||||||
"narHash": "sha256-2T7CHTqBXJJ3ZC6R/4TXTcKoXWHcvubKNj9SfomURnw=",
|
"narHash": "sha256-b+uqzj+Wa6xgMS9aNbX4I+sXeb5biPDi39VgvSFqFvU=",
|
||||||
"owner": "ryantm",
|
"owner": "ryantm",
|
||||||
"repo": "agenix",
|
"repo": "agenix",
|
||||||
"rev": "8d37c5bdeade12b6479c85acd133063ab53187a0",
|
"rev": "f6291c5935fdc4e0bef208cfc0dcab7e3f7a1c41",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -61,18 +61,17 @@
|
|||||||
},
|
},
|
||||||
"devshell": {
|
"devshell": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils",
|
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixvim",
|
"nixvim",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1713532798,
|
"lastModified": 1722113426,
|
||||||
"narHash": "sha256-wtBhsdMJA3Wa32Wtm1eeo84GejtI43pMrFrmwLXrsEc=",
|
"narHash": "sha256-Yo/3loq572A8Su6aY5GP56knpuKYRvM2a1meP9oJZCw=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "devshell",
|
"repo": "devshell",
|
||||||
"rev": "12e914740a25ea1891ec619bb53cf5e6ca922e40",
|
"rev": "67cce7359e4cd3c45296fb4aaf6a19e2a9c757ae",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -119,11 +118,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1714641030,
|
"lastModified": 1725234343,
|
||||||
"narHash": "sha256-yzcRNDoyVP7+SCNX0wmuDju1NUCt8Dz9+lyUXEI0dbI=",
|
"narHash": "sha256-+ebgonl3NbiKD2UD0x4BszCZQ6sTfL4xioaM49o5B3Y=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "e5d10a24b66c3ea8f150e47dfdb0416ab7c3390e",
|
"rev": "567b938d64d4b4112ee253b9274472dc3a346eb6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -132,43 +131,10 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-root": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1713493429,
|
|
||||||
"narHash": "sha256-ztz8JQkI08tjKnsTpfLqzWoKFQF4JGu2LRz8bkdnYUk=",
|
|
||||||
"owner": "srid",
|
|
||||||
"repo": "flake-root",
|
|
||||||
"rev": "bc748b93b86ee76e2032eecda33440ceb2532fcd",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "srid",
|
|
||||||
"repo": "flake-root",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-utils": {
|
"flake-utils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_2"
|
"systems": "systems_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
|
||||||
"lastModified": 1701680307,
|
|
||||||
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-utils_2": {
|
|
||||||
"inputs": {
|
|
||||||
"systems": "systems_3"
|
|
||||||
},
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1710146030,
|
"lastModified": 1710146030,
|
||||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||||
@ -183,21 +149,30 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-utils_3": {
|
"git-hooks": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_4"
|
"flake-compat": "flake-compat_2",
|
||||||
|
"gitignore": "gitignore",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixvim",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"nixpkgs-stable": [
|
||||||
|
"nixvim",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1705309234,
|
"lastModified": 1724857454,
|
||||||
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
|
"narHash": "sha256-Qyl9Q4QMTLZnnBb/8OuQ9LSkzWjBU1T5l5zIzTxkkhk=",
|
||||||
"owner": "numtide",
|
"owner": "cachix",
|
||||||
"repo": "flake-utils",
|
"repo": "git-hooks.nix",
|
||||||
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
|
"rev": "4509ca64f1084e73bc7a721b20c669a8d4c5ebe6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "numtide",
|
"owner": "cachix",
|
||||||
"repo": "flake-utils",
|
"repo": "git-hooks.nix",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -205,7 +180,7 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixvim",
|
"nixvim",
|
||||||
"pre-commit-hooks",
|
"git-hooks",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -251,16 +226,15 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1715930644,
|
"lastModified": 1726142087,
|
||||||
"narHash": "sha256-W9pyM3/vePxrffHtzlJI6lDS3seANQ+Nqp+i58O46LI=",
|
"narHash": "sha256-uT4TRd3PgreUD5sJaNioVfMemdyWFLoPHqN4AFszGmw=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "e3ad5108f54177e6520535768ddbf1e6af54b59d",
|
"rev": "da8406a6ff556b86dc368e96ca8bd81b2704a91a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"ref": "master",
|
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@ -273,15 +247,16 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1715486357,
|
"lastModified": 1720042825,
|
||||||
"narHash": "sha256-4pRuzsHZOW5W4CsXI9uhKtiJeQSUoe1d2M9mWU98HC4=",
|
"narHash": "sha256-A0vrUB6x82/jvf17qPCpxaM+ulJnD8YZwH9Ci0BsAzE=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "44677a1c96810a8e8c4ffaeaad10c842402647c1",
|
"rev": "e1391fb22e18a36f57e6999c7a9f966dc80ac073",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
|
"ref": "release-24.05",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@ -313,11 +288,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1715653378,
|
"lastModified": 1725189302,
|
||||||
"narHash": "sha256-6kbg/PI3+SBP17f4T0js3CBsMLVtlD0JqJhDKgzk1mQ=",
|
"narHash": "sha256-IhXok/kwQqtusPsoguQLCHA+h6gKvgdCrkhIaN+kByA=",
|
||||||
"owner": "lnl7",
|
"owner": "lnl7",
|
||||||
"repo": "nix-darwin",
|
"repo": "nix-darwin",
|
||||||
"rev": "de8b0d60d6fd34f35abffc46adc94ebaa6996ce2",
|
"rev": "7c4b53a7d9f3a3df902b3fddf2ae245ef20ebcda",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -326,6 +301,26 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nix-index-database": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1725765290,
|
||||||
|
"narHash": "sha256-hwX53i24KyWzp2nWpQsn8lfGQNCP0JoW/bvQmcR1DPY=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nix-index-database",
|
||||||
|
"rev": "642275444c5a9defce57219c944b3179bf2adaa9",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nix-index-database",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1703013332,
|
"lastModified": 1703013332,
|
||||||
@ -359,11 +354,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1686501370,
|
"lastModified": 1725983898,
|
||||||
"narHash": "sha256-G0WuM9fqTPRc2URKP9Lgi5nhZMqsfHGrdEbrLvAPJcg=",
|
"narHash": "sha256-4b3A9zPpxAxLnkF9MawJNHDtOOl6ruL0r6Og1TEDGCE=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "75a5ebf473cd60148ba9aec0d219f72e5cf52519",
|
"rev": "1355a0cbfeac61d785b7183c0caaec1f97361b43",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -375,48 +370,16 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1714076141,
|
"lastModified": 1725930920,
|
||||||
"narHash": "sha256-Drmja/f5MRHZCskS6mvzFqxEaZMeciScCTFxWVLqWEY=",
|
"narHash": "sha256-RVhD9hnlTT2nJzPHlAqrWqCkA7T6CYrP41IoVRkciZM=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "7bb2ccd8cdc44c91edba16c48d2c8f331fb3d856",
|
"rev": "44a71ff39c182edaf25a7ace5c9454e7cba2c658",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"ref": "nixos-unstable",
|
"ref": "nixos-24.05",
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_3": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1715787315,
|
|
||||||
"narHash": "sha256-cYApT0NXJfqBkKcci7D9Kr4CBYZKOQKDYA23q8XNuWg=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "33d1e753c82ffc557b4a585c77de43d4c922ebb5",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_4": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1707268954,
|
|
||||||
"narHash": "sha256-2en1kvde3cJVc3ZnTy8QeD2oKcseLFjYPLKhIGDanQ0=",
|
|
||||||
"owner": "lopsided98",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "f8e2ebd66d097614d51a56a755450d4ae1632df1",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "lopsided98",
|
|
||||||
"ref": "nix-ros",
|
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@ -426,52 +389,49 @@
|
|||||||
"devshell": "devshell",
|
"devshell": "devshell",
|
||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat",
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts",
|
||||||
"flake-root": "flake-root",
|
"git-hooks": "git-hooks",
|
||||||
"home-manager": "home-manager_3",
|
"home-manager": "home-manager_3",
|
||||||
"nix-darwin": "nix-darwin",
|
"nix-darwin": "nix-darwin",
|
||||||
"nixpkgs": "nixpkgs_3",
|
"nixpkgs": [
|
||||||
"pre-commit-hooks": "pre-commit-hooks",
|
"nixpkgs"
|
||||||
|
],
|
||||||
"treefmt-nix": "treefmt-nix"
|
"treefmt-nix": "treefmt-nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1715976947,
|
"lastModified": 1725350106,
|
||||||
"narHash": "sha256-cfU0THstf6phd6vpzIzsew89Ns5JdPq7CyeiLRajE1g=",
|
"narHash": "sha256-TaMMlI2KPJ3wCyxJk6AShOLhNuTeabHCnvYRkLBlEFs=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixvim",
|
"repo": "nixvim",
|
||||||
"rev": "7c4fe30f814595bc617d6b1b682ab9cbfe535d33",
|
"rev": "0f2c31e6a57a83ed4e6fa3adc76749620231055d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
|
"ref": "nixos-24.05",
|
||||||
"repo": "nixvim",
|
"repo": "nixvim",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pre-commit-hooks": {
|
"plasma-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_2",
|
"home-manager": [
|
||||||
"flake-utils": "flake-utils_2",
|
"home-manager"
|
||||||
"gitignore": "gitignore",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixvim",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
],
|
||||||
"nixpkgs-stable": [
|
"nixpkgs": [
|
||||||
"nixvim",
|
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1715609711,
|
"lastModified": 1725914634,
|
||||||
"narHash": "sha256-/5u29K0c+4jyQ8x7dUIEUWlz2BoTSZWUP2quPwFCE7M=",
|
"narHash": "sha256-U74hu15xSb6JNySMOwyJrsh4uk1DVa182bdHLeHdYMc=",
|
||||||
"owner": "cachix",
|
"owner": "pjones",
|
||||||
"repo": "pre-commit-hooks.nix",
|
"repo": "plasma-manager",
|
||||||
"rev": "c182c876690380f8d3b9557c4609472ebfa1b141",
|
"rev": "60becd0e994e25b372c8d0500fc944396f6c1085",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "cachix",
|
"owner": "pjones",
|
||||||
"repo": "pre-commit-hooks.nix",
|
"repo": "plasma-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -480,23 +440,27 @@
|
|||||||
"agenix": "agenix",
|
"agenix": "agenix",
|
||||||
"home-manager": "home-manager_2",
|
"home-manager": "home-manager_2",
|
||||||
"nix-colors": "nix-colors",
|
"nix-colors": "nix-colors",
|
||||||
|
"nix-index-database": "nix-index-database",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||||
"nixvim": "nixvim",
|
"nixvim": "nixvim",
|
||||||
|
"plasma-manager": "plasma-manager",
|
||||||
"ros": "ros"
|
"ros": "ros"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ros": {
|
"ros": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils_3",
|
"flake-utils": "flake-utils",
|
||||||
"nixpkgs": "nixpkgs_4"
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1713569614,
|
"lastModified": 1725666703,
|
||||||
"narHash": "sha256-ouEmZMCZ1XMhLr3Fh3rtoR5hHRiQ/zgz5qkM+9OUnOg=",
|
"narHash": "sha256-OHnLgECPj014C0ii1DrFk+TBgUD3JhHeo1T45Oyk67k=",
|
||||||
"owner": "lopsided98",
|
"owner": "lopsided98",
|
||||||
"repo": "nix-ros-overlay",
|
"repo": "nix-ros-overlay",
|
||||||
"rev": "1d5ae52f3e9c71604c52c6464c5e4eed4f8b14b8",
|
"rev": "74a15df3f911919b6baa9abaa02f4ff5f6455b15",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -535,36 +499,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems_3": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"treefmt-nix": {
|
"treefmt-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@ -573,11 +507,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1714058656,
|
"lastModified": 1724833132,
|
||||||
"narHash": "sha256-Qv4RBm4LKuO4fNOfx9wl40W2rBbv5u5m+whxRYUMiaA=",
|
"narHash": "sha256-F4djBvyNRAXGusJiNYInqR6zIMI3rvlp6WiKwsRISos=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "treefmt-nix",
|
"repo": "treefmt-nix",
|
||||||
"rev": "c6aaf729f34a36c445618580a9f95a48f5e4e03f",
|
"rev": "3ffd842a5f50f435d3e603312eefa4790db46af5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
105
flake.nix
105
flake.nix
@ -3,24 +3,44 @@
|
|||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
# Nixpkgs
|
# Nixpkgs
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
|
||||||
|
|
||||||
|
nix-index-database.url = "github:nix-community/nix-index-database";
|
||||||
|
nix-index-database.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
# You can access packages and modules from different nixpkgs revs
|
# You can access packages and modules from different nixpkgs revs
|
||||||
# at the same time. Here's an working example:
|
# at the same time. Here's an working example:
|
||||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
# Also see the 'unstable-packages' overlay at 'overlays/default.nix'.
|
# Also see the 'unstable-packages' overlay at 'overlays/default.nix'.
|
||||||
|
|
||||||
# Home manager
|
home-manager = {
|
||||||
home-manager.url = "github:nix-community/home-manager/master";
|
url = "github:nix-community/home-manager";
|
||||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
nixvim = {
|
||||||
|
url = "github:nix-community/nixvim/nixos-24.05";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
plasma-manager = {
|
||||||
|
url = "github:pjones/plasma-manager";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
inputs.home-manager.follows = "home-manager";
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
ros = {
|
||||||
|
url = "github:lopsided98/nix-ros-overlay";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
ros.url = "github:lopsided98/nix-ros-overlay";
|
|
||||||
agenix.url = "github:ryantm/agenix";
|
agenix.url = "github:ryantm/agenix";
|
||||||
|
|
||||||
# Shameless plug: looking for a way to nixify your themes and make
|
# Shameless plug: looking for a way to nixify your themes and make
|
||||||
# everything match nicely? Try nix-colors!
|
# everything match nicely? Try nix-colors!
|
||||||
nix-colors.url = "github:misterio77/nix-colors";
|
nix-colors.url = "github:misterio77/nix-colors";
|
||||||
|
|
||||||
nixvim.url = "github:nix-community/nixvim";
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -28,6 +48,8 @@
|
|||||||
self,
|
self,
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
home-manager,
|
home-manager,
|
||||||
|
nixvim,
|
||||||
|
plasma-manager,
|
||||||
ros,
|
ros,
|
||||||
agenix,
|
agenix,
|
||||||
...
|
...
|
||||||
@ -63,7 +85,7 @@
|
|||||||
|
|
||||||
# NixOS configuration entrypoint
|
# NixOS configuration entrypoint
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
#Personal laptop, thinkpad t490
|
#Traverse's laptop, thinkpad t490
|
||||||
athame = nixpkgs.lib.nixosSystem {
|
athame = nixpkgs.lib.nixosSystem {
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit inputs outputs;
|
inherit inputs outputs;
|
||||||
@ -74,14 +96,14 @@
|
|||||||
./nixos/kde-desktop.nix
|
./nixos/kde-desktop.nix
|
||||||
./nixos/cad.nix
|
./nixos/cad.nix
|
||||||
./nixos/zerotier.nix
|
./nixos/zerotier.nix
|
||||||
./nixos/work.nix
|
./nixos/family.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
#Work laptop, dell g15.
|
#Work laptop, dell g15.
|
||||||
metatron = nixpkgs.lib.nixosSystem {
|
azrael = nixpkgs.lib.nixosSystem {
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit inputs outputs;
|
inherit inputs outputs;
|
||||||
hostname = "metatron";
|
hostname = "azrael";
|
||||||
};
|
};
|
||||||
modules = [
|
modules = [
|
||||||
./nixos/configuration.nix
|
./nixos/configuration.nix
|
||||||
@ -91,6 +113,22 @@
|
|||||||
./nixos/work.nix
|
./nixos/work.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
#Lenovo T15
|
||||||
|
adrial = nixpkgs.lib.nixosSystem {
|
||||||
|
specialArgs = {
|
||||||
|
inherit inputs outputs;
|
||||||
|
hostname = "adrial";
|
||||||
|
};
|
||||||
|
modules = [
|
||||||
|
./nixos/configuration.nix
|
||||||
|
./nixos/kde-desktop.nix
|
||||||
|
./nixos/zerotier.nix
|
||||||
|
./nixos/work.nix
|
||||||
|
./nixos/vr-desktop.nix
|
||||||
|
./nixos/cad.nix
|
||||||
|
./nixos/gaming.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
hearth = nixpkgs.lib.nixosSystem {
|
hearth = nixpkgs.lib.nixosSystem {
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit inputs outputs;
|
inherit inputs outputs;
|
||||||
@ -102,11 +140,38 @@
|
|||||||
./nixos/zerotier.nix
|
./nixos/zerotier.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
gwen = nixpkgs.lib.nixosSystem {
|
selaphiel = nixpkgs.lib.nixosSystem {
|
||||||
|
#Ingrid thinkpad t480
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit inputs outputs;
|
inherit inputs outputs;
|
||||||
hostname = "gwen";
|
hostname = "selaphiel";
|
||||||
mainUser = "gwen";
|
mainUser = "ingrid";
|
||||||
|
};
|
||||||
|
modules = [
|
||||||
|
./nixos/configuration.nix
|
||||||
|
./nixos/kde-desktop.nix
|
||||||
|
./nixos/family.nix
|
||||||
|
./nixos/zerotier.nix
|
||||||
|
./nixos/gaming.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
chamuel = nixpkgs.lib.nixosSystem {
|
||||||
|
specialArgs = {
|
||||||
|
inherit inputs outputs;
|
||||||
|
hostname = "chamuel";
|
||||||
|
};
|
||||||
|
modules = [
|
||||||
|
./nixos/configuration.nix
|
||||||
|
./nixos/kde-desktop.nix
|
||||||
|
./nixos/family.nix
|
||||||
|
./nixos/zerotier.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
bill = nixpkgs.lib.nixosSystem {
|
||||||
|
specialArgs = {
|
||||||
|
inherit inputs outputs;
|
||||||
|
hostname = "bill";
|
||||||
|
mainUser = "bill";
|
||||||
};
|
};
|
||||||
modules = [
|
modules = [
|
||||||
./nixos/configuration.nix
|
./nixos/configuration.nix
|
||||||
@ -120,14 +185,24 @@
|
|||||||
# Standalone home-manager configuration entrypoint
|
# Standalone home-manager configuration entrypoint
|
||||||
# Available through 'home-manager --flake .#your-username@your-hostname'
|
# Available through 'home-manager --flake .#your-username@your-hostname'
|
||||||
homeConfigurations = {
|
homeConfigurations = {
|
||||||
"traverseda@athame" = home-manager.lib.homeManagerConfiguration {
|
"traverseda@generic" = home-manager.lib.homeManagerConfiguration {
|
||||||
pkgs = nixpkgs.legacyPackages.x86_64-linux; # Home-manager requires 'pkgs' instance
|
pkgs = nixpkgs.legacyPackages.x86_64-linux; # Home-manager requires 'pkgs' instance
|
||||||
extraSpecialArgs = {inherit inputs outputs;};
|
extraSpecialArgs = {inherit inputs outputs;};
|
||||||
modules = [
|
modules = [
|
||||||
# > Our main home-manager configuration file <
|
# > Our main home-manager configuration file <
|
||||||
./home-manager/home.nix
|
./home-manager/traverseda/home.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
"spiri@generic" = home-manager.lib.homeManagerConfiguration {
|
||||||
|
pkgs = nixpkgs.legacyPackages.aarch64-linux; # Home-manager requires 'pkgs' instance
|
||||||
|
extraSpecialArgs = {inherit inputs outputs;
|
||||||
|
homeUser = "spiri";
|
||||||
|
homeDir = "/home/spiri";
|
||||||
|
};
|
||||||
|
modules = [
|
||||||
|
./home-manager/traverseda/home.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,174 +0,0 @@
|
|||||||
# This is your home-manager configuration file
|
|
||||||
# Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix)
|
|
||||||
{
|
|
||||||
inputs,
|
|
||||||
outputs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
# You can import other home-manager modules here
|
|
||||||
imports = [
|
|
||||||
# If you want to use modules your own flake exports (from modules/home-manager):
|
|
||||||
# outputs.homeManagerModules.example
|
|
||||||
|
|
||||||
# Or modules exported from other flakes (such as nix-colors):
|
|
||||||
# inputs.nix-colors.homeManagerModules.default
|
|
||||||
|
|
||||||
# You can also split up your configuration and import pieces of it here:
|
|
||||||
# ./nvim.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
nixpkgs = {
|
|
||||||
# You can add overlays here
|
|
||||||
overlays = [
|
|
||||||
# Add overlays your own flake exports (from overlays and pkgs dir):
|
|
||||||
outputs.overlays.additions
|
|
||||||
outputs.overlays.modifications
|
|
||||||
outputs.overlays.unstable-packages
|
|
||||||
|
|
||||||
# You can also add overlays exported from other flakes:
|
|
||||||
# neovim-nightly-overlay.overlays.default
|
|
||||||
|
|
||||||
# Or define it inline, for example:
|
|
||||||
# (final: prev: {
|
|
||||||
# hi = final.hello.overrideAttrs (oldAttrs: {
|
|
||||||
# patches = [ ./change-hello-to-hi.patch ];
|
|
||||||
# });
|
|
||||||
# })
|
|
||||||
];
|
|
||||||
# Configure your nixpkgs instance
|
|
||||||
config = {
|
|
||||||
# Disable if you don't want unfree packages
|
|
||||||
allowUnfree = true;
|
|
||||||
# Workaround for https://github.com/nix-community/home-manager/issues/2942
|
|
||||||
allowUnfreePredicate = _: true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
home = {
|
|
||||||
username = "traverseda";
|
|
||||||
homeDirectory = "/home/traverseda";
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.git = {
|
|
||||||
enable = true;
|
|
||||||
userName = "Alex Davies";
|
|
||||||
userEmail = "traverse.da@gmail.com";
|
|
||||||
extraConfig = {
|
|
||||||
core = {
|
|
||||||
editor = "vim"; # Set default editor for Git
|
|
||||||
};
|
|
||||||
color = {
|
|
||||||
ui = "auto"; # Enable colored output in the terminal
|
|
||||||
};
|
|
||||||
push = {
|
|
||||||
default = "simple"; # Default push behavior to 'simple'
|
|
||||||
};
|
|
||||||
pull = {
|
|
||||||
rebase = "false"; # Avoid rebasing by default on pull
|
|
||||||
};
|
|
||||||
credential = {
|
|
||||||
helper = "cache --timeout=3600"; # Cache credentials for 1 hour (3600 seconds)
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.neovim = {
|
|
||||||
enable = true;
|
|
||||||
defaultEditor = true;
|
|
||||||
viAlias = true;
|
|
||||||
vimAlias = true;
|
|
||||||
vimdiffAlias = true;
|
|
||||||
plugins = with pkgs.vimPlugins; [
|
|
||||||
nvim-lspconfig
|
|
||||||
nvim-treesitter.withAllGrammars
|
|
||||||
vim-bufferline
|
|
||||||
tokyonight-nvim
|
|
||||||
{
|
|
||||||
plugin = which-key-nvim;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.ssh = {
|
|
||||||
enable = true; # Enable SSH module
|
|
||||||
extraConfig = ''
|
|
||||||
Host *
|
|
||||||
ControlMaster auto
|
|
||||||
ControlPath ~/.ssh/sockets/%r@%h-%p
|
|
||||||
ControlPersist 600
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
pkgs.htop
|
|
||||||
pkgs.zsh
|
|
||||||
pkgs.xclip
|
|
||||||
pkgs.ripgrep
|
|
||||||
pkgs.mosh
|
|
||||||
pkgs.waypipe
|
|
||||||
pkgs.pwgen
|
|
||||||
pkgs.chezmoi
|
|
||||||
pkgs.neovim-remote
|
|
||||||
pkgs.pipx
|
|
||||||
pkgs.rclone
|
|
||||||
pkgs.pyright
|
|
||||||
pkgs.mosh
|
|
||||||
pkgs.jq
|
|
||||||
pkgs.copier
|
|
||||||
pkgs.pv
|
|
||||||
pkgs.poetry
|
|
||||||
pkgs.nmap
|
|
||||||
pkgs.dig
|
|
||||||
pkgs.tree
|
|
||||||
pkgs.curl
|
|
||||||
pkgs.wget
|
|
||||||
pkgs.wl-clipboard
|
|
||||||
|
|
||||||
(pkgs.nerdfonts.override { fonts = [ "FiraCode" "DroidSansMono" "Hack"]; })
|
|
||||||
|
|
||||||
(pkgs.writeShellScriptBin "nvr-edit" ''
|
|
||||||
nvr --remote-wait $@
|
|
||||||
'')
|
|
||||||
(pkgs.writeShellScriptBin "nvidia-offload" ''
|
|
||||||
export __NV_PRIME_RENDER_OFFLOAD=1
|
|
||||||
export __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0
|
|
||||||
export __GLX_VENDOR_LIBRARY_NAME=nvidia
|
|
||||||
export __VK_LAYER_NV_optimus=NVIDIA_only
|
|
||||||
exec "$@"
|
|
||||||
'')
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.zsh = {
|
|
||||||
enable = true;
|
|
||||||
enableCompletion = true;
|
|
||||||
autosuggestion.enable = true;
|
|
||||||
syntaxHighlighting.enable = true;
|
|
||||||
|
|
||||||
history.size = 10000;
|
|
||||||
history.path = "${config.xdg.dataHome}/zsh/history";
|
|
||||||
oh-my-zsh = {
|
|
||||||
enable = true;
|
|
||||||
plugins = [ "git" "docker" "docker-compose"];
|
|
||||||
theme = "robbyrussell";
|
|
||||||
};
|
|
||||||
initExtra = ''
|
|
||||||
if [[ -n ''${NVIM+x} ]]; then
|
|
||||||
alias vim="nvr --remote"
|
|
||||||
export EDITOR=nvr-edit
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable home-manager and git
|
|
||||||
programs.home-manager.enable = true;
|
|
||||||
|
|
||||||
# Nicely reload system units when changing configs
|
|
||||||
systemd.user.startServices = "sd-switch";
|
|
||||||
|
|
||||||
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
|
||||||
home.stateVersion = "23.05";
|
|
||||||
}
|
|
383
home-manager/traverseda/home.nix
Normal file
383
home-manager/traverseda/home.nix
Normal file
@ -0,0 +1,383 @@
|
|||||||
|
# This is your home-manager configuration file
|
||||||
|
# Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix)
|
||||||
|
{
|
||||||
|
inputs,
|
||||||
|
outputs,
|
||||||
|
# lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
specialArgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
# You can import other home-manager modules here
|
||||||
|
imports = [
|
||||||
|
inputs.nixvim.homeManagerModules.nixvim
|
||||||
|
inputs.nix-index-database.hmModules.nix-index
|
||||||
|
];
|
||||||
|
|
||||||
|
nixpkgs = {
|
||||||
|
# You can add overlays here
|
||||||
|
overlays = [
|
||||||
|
# Add overlays your own flake exports (from overlays and pkgs dir):
|
||||||
|
outputs.overlays.additions
|
||||||
|
outputs.overlays.modifications
|
||||||
|
outputs.overlays.unstable-packages
|
||||||
|
|
||||||
|
# You can also add overlays exported from other flakes:
|
||||||
|
# neovim-nightly-overlay.overlays.default
|
||||||
|
|
||||||
|
# Or define it inline, for example:
|
||||||
|
# (final: prev: {
|
||||||
|
# hi = final.hello.overrideAttrs (oldAttrs: {
|
||||||
|
# patches = [ ./change-hello-to-hi.patch ];
|
||||||
|
# });
|
||||||
|
# })
|
||||||
|
];
|
||||||
|
# Configure your nixpkgs instance
|
||||||
|
config = {
|
||||||
|
# Disable if you don't want unfree packages
|
||||||
|
allowUnfree = true;
|
||||||
|
# Workaround for https://github.com/nix-community/home-manager/issues/2942
|
||||||
|
allowUnfreePredicate = _: true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home = {
|
||||||
|
username = specialArgs.homeUser or "traverseda";
|
||||||
|
homeDirectory = specialArgs.homeDir or "/home/traverseda";
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
userName = "Alex Davies";
|
||||||
|
userEmail = "traverse.da@gmail.com";
|
||||||
|
|
||||||
|
extraConfig = {
|
||||||
|
core = {
|
||||||
|
editor = "vim"; # Set default editor for Git
|
||||||
|
};
|
||||||
|
color = {
|
||||||
|
ui = "auto"; # Enable colored output in the terminal
|
||||||
|
};
|
||||||
|
push = {
|
||||||
|
default = "simple"; # Default push behavior to 'simple'
|
||||||
|
};
|
||||||
|
pull = {
|
||||||
|
rebase = "false"; # Avoid rebasing by default on pull
|
||||||
|
};
|
||||||
|
credential = {
|
||||||
|
helper = "cache --timeout=3600"; # Cache credentials for 1 hour (3600 seconds)
|
||||||
|
};
|
||||||
|
oh-my-zsh = {
|
||||||
|
"hide-dirty" = "1";
|
||||||
|
};
|
||||||
|
init = {
|
||||||
|
defaultBranch = "main";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.nixvim = {
|
||||||
|
enable = true;
|
||||||
|
defaultEditor = true;
|
||||||
|
viAlias = true;
|
||||||
|
vimAlias = true;
|
||||||
|
#We use bufferline for the top line
|
||||||
|
plugins.bufferline.enable = true;
|
||||||
|
#And lualine for the bottom line
|
||||||
|
plugins.lualine = {
|
||||||
|
enable = true;
|
||||||
|
sections = {
|
||||||
|
lualine_c = [ "os.date('%X')"];
|
||||||
|
lualine_x = [
|
||||||
|
{name= "hostname";}
|
||||||
|
];
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
#Enable which key
|
||||||
|
plugins.which-key.enable = true;
|
||||||
|
|
||||||
|
extraPlugins = with pkgs.vimPlugins; [
|
||||||
|
vim-suda
|
||||||
|
];
|
||||||
|
|
||||||
|
#enable autocomplete
|
||||||
|
plugins.cmp = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
mapping = {
|
||||||
|
__raw = ''
|
||||||
|
cmp.mapping.preset.insert({
|
||||||
|
['<C-j>'] = cmp.mapping.select_next_item(),
|
||||||
|
['<C-k>'] = cmp.mapping.select_prev_item(),
|
||||||
|
['<C-e>'] = cmp.mapping.abort(),
|
||||||
|
|
||||||
|
['<C-b>'] = cmp.mapping.scroll_docs(-4),
|
||||||
|
|
||||||
|
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
||||||
|
|
||||||
|
['<C-Space>'] = cmp.mapping.complete(),
|
||||||
|
|
||||||
|
['<CR>'] = cmp.mapping.confirm({ select = true }),
|
||||||
|
|
||||||
|
['<S-CR>'] = cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = true }),
|
||||||
|
})
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
sources = [
|
||||||
|
{name = "copilot";}
|
||||||
|
{name = "nvim_lsp";}
|
||||||
|
{name = "path";}
|
||||||
|
{name = "buffer";}
|
||||||
|
{name = "treesitter";}
|
||||||
|
{name = "bash";}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
plugins.indent-blankline.enable = true;
|
||||||
|
plugins.lsp-format.enable = true;
|
||||||
|
plugins.commentary.enable = true;
|
||||||
|
plugins.lsp = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
plugins.lsp-lines.enable = true;
|
||||||
|
plugins.lint = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
plugins.nix.enable = true;
|
||||||
|
|
||||||
|
plugins.clipboard-image = {
|
||||||
|
enable = true;
|
||||||
|
clipboardPackage = pkgs.xclip;
|
||||||
|
};
|
||||||
|
|
||||||
|
colorschemes.tokyonight = {
|
||||||
|
enable = true;
|
||||||
|
settings.style = "night";
|
||||||
|
};
|
||||||
|
|
||||||
|
extraConfigLua = ''
|
||||||
|
-- Automatically enter insert mode when opening a terminal
|
||||||
|
vim.api.nvim_create_autocmd("TermOpen", {
|
||||||
|
pattern = "*",
|
||||||
|
command = "startinsert"
|
||||||
|
})
|
||||||
|
vim.api.nvim_create_autocmd("BufEnter", {
|
||||||
|
pattern = "term://*",
|
||||||
|
command = "startinsert"
|
||||||
|
})
|
||||||
|
-- Open files with sudo if needed
|
||||||
|
vim.g.suda_smart_edit = 1
|
||||||
|
-- Make my cursor a block
|
||||||
|
vim.opt.guicursor = "n-v-c:block"
|
||||||
|
-- Disable ctrl+a incrementing numbers
|
||||||
|
vim.api.nvim_set_keymap('i', '<C-a>', '<nop>', { noremap = true })
|
||||||
|
-- Use system clipboard by default
|
||||||
|
vim.opt.clipboard:append("unnamedplus")
|
||||||
|
-- Keep selection when changing indentation
|
||||||
|
-- keep visual mode after indent
|
||||||
|
vim.api.nvim_set_keymap('v', '<', '<gv', { noremap = true })
|
||||||
|
vim.api.nvim_set_keymap('v', '>', '>gv', { noremap = true })
|
||||||
|
-- Basic indentation settings
|
||||||
|
vim.o.tabstop = 4 -- Number of spaces that a <Tab> in the file counts for
|
||||||
|
vim.o.shiftwidth = 4 -- Number of spaces to use for each step of (auto)indent
|
||||||
|
vim.o.expandtab = true -- Use spaces instead of tabs
|
||||||
|
vim.o.autoindent = true -- Copy indent from current line when starting a new line
|
||||||
|
vim.o.smartindent = true -- Do smart autoindenting when starting a new line
|
||||||
|
-- Enable list mode
|
||||||
|
vim.opt.list = true
|
||||||
|
vim.opt.listchars:append({ tab = '>-', trail = 'x' })
|
||||||
|
-- Enable undofile support
|
||||||
|
vim.o.undofile = true
|
||||||
|
'';
|
||||||
|
|
||||||
|
globals.mapleader = " ";
|
||||||
|
keymaps = [
|
||||||
|
{
|
||||||
|
#Clear the search buffer when I press esc twice
|
||||||
|
mode = ["n" "t"];
|
||||||
|
key = "<esc><esc>";
|
||||||
|
options = { noremap = true; desc = "Clear search"; };
|
||||||
|
action = ":nohlsearch<cr>";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = ["n" "t"];
|
||||||
|
key = "<C-a>c";
|
||||||
|
options = { noremap = true; desc = "Open new terminal"; };
|
||||||
|
action = "<cmd>:term<cr>";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = ["n"];
|
||||||
|
key = "<C-a>x";
|
||||||
|
options = { noremap = true; desc = "Close tab"; };
|
||||||
|
action = "<cmd>:bd<cr>";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = ["t"];
|
||||||
|
key = "<C-a>x";
|
||||||
|
options = { noremap = true; desc = "Close tab"; };
|
||||||
|
action = "<cmd>:bd!<cr>";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = ["n" "t"];
|
||||||
|
key = "<C-a>s";
|
||||||
|
options = { noremap = true; desc = "Pick buffer"; };
|
||||||
|
action = "<cmd>:BufferLinePick<CR>";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "t";
|
||||||
|
key = "<Esc><Esc>";
|
||||||
|
options = { noremap = true; };
|
||||||
|
action = "<C-\\><C-n>";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = ["n"];
|
||||||
|
key = "<leader>w";
|
||||||
|
options = { noremap = true; desc = "+windows"; };
|
||||||
|
action = "+windows";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = ["n"];
|
||||||
|
key = "<leader>w<Left>";
|
||||||
|
options = { noremap = true; desc = "Move Left"; };
|
||||||
|
action = "<C-w>h";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = ["n"];
|
||||||
|
key = "<leader>w<Right>";
|
||||||
|
options = { noremap = true; desc = "Move Right"; };
|
||||||
|
action = "<C-w>l";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = ["n"];
|
||||||
|
key = "<leader>w<Up>";
|
||||||
|
options = { noremap = true; desc = "Move Up"; };
|
||||||
|
action = "<C-w>k";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = ["n"];
|
||||||
|
key = "<leader>w<Down>";
|
||||||
|
options = { noremap = true; desc = "Move Down"; };
|
||||||
|
action = "<C-w>j";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = ["n"];
|
||||||
|
key = "<leader>wx";
|
||||||
|
options = { noremap = true; desc = "Close Window"; };
|
||||||
|
action = "<cmd>:close<cr>";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = ["n"];
|
||||||
|
key = "<leader>ws";
|
||||||
|
options = { noremap = true; desc = "+splits"; };
|
||||||
|
action = "+splits";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = ["n"];
|
||||||
|
key = "<leader>wsh";
|
||||||
|
options = { noremap = true; desc = "Horizontal Split"; };
|
||||||
|
action = "<cmd>:split<cr>";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = ["n"];
|
||||||
|
key = "<leader>wsv";
|
||||||
|
options = { noremap = true; desc = "Vertical Split"; };
|
||||||
|
action = "<cmd>:vsplit<cr>";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.ssh = {
|
||||||
|
enable = true; # Enable SSH module
|
||||||
|
controlMaster = "auto"; # Enable ControlMaster
|
||||||
|
controlPersist = "10m"; # Enable Control
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = [
|
||||||
|
pkgs.htop
|
||||||
|
pkgs.zsh
|
||||||
|
pkgs.xclip
|
||||||
|
pkgs.ripgrep
|
||||||
|
pkgs.waypipe
|
||||||
|
pkgs.pwgen
|
||||||
|
pkgs.neovim-remote
|
||||||
|
#pkgs.pipx
|
||||||
|
pkgs.rclone
|
||||||
|
pkgs.pyright
|
||||||
|
pkgs.mosh
|
||||||
|
pkgs.jq
|
||||||
|
pkgs.copier
|
||||||
|
pkgs.pv
|
||||||
|
#pkgs.poetry
|
||||||
|
pkgs.lazydocker
|
||||||
|
pkgs.nmap
|
||||||
|
pkgs.dig
|
||||||
|
pkgs.tree
|
||||||
|
pkgs.curl
|
||||||
|
pkgs.wget
|
||||||
|
pkgs.wl-clipboard
|
||||||
|
pkgs.atool
|
||||||
|
pkgs.zig
|
||||||
|
pkgs.comma
|
||||||
|
pkgs.docker-compose
|
||||||
|
|
||||||
|
(pkgs.writeShellScriptBin "poetry" ''
|
||||||
|
export LD_LIBRARY_PATH=$NIX_LD_LIBRARY_PATH
|
||||||
|
exec ${pkgs.poetry}/bin/poetry "$@"
|
||||||
|
'')
|
||||||
|
(pkgs.writeShellScriptBin "pipx" ''
|
||||||
|
export LD_LIBRARY_PATH=$NIX_LD_LIBRARY_PATH
|
||||||
|
exec ${pkgs.pipx}/bin/pipx "$@"
|
||||||
|
'')
|
||||||
|
|
||||||
|
(pkgs.nerdfonts.override { fonts = [ "FiraCode" "DroidSansMono" "Hack"]; })
|
||||||
|
|
||||||
|
(pkgs.writeShellScriptBin "nvr-edit" ''
|
||||||
|
nvr --remote-wait $@
|
||||||
|
'')
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.zsh = {
|
||||||
|
enable = true;
|
||||||
|
enableCompletion = true;
|
||||||
|
autosuggestion.enable = true;
|
||||||
|
syntaxHighlighting.enable = true;
|
||||||
|
autocd = false;
|
||||||
|
|
||||||
|
history.size = 10000;
|
||||||
|
history.path = "${config.xdg.dataHome}/zsh/history";
|
||||||
|
oh-my-zsh = {
|
||||||
|
enable = true;
|
||||||
|
plugins = [ "git" "docker" "docker-compose"];
|
||||||
|
theme = "robbyrussell";
|
||||||
|
};
|
||||||
|
initExtra = ''
|
||||||
|
if [[ -n ''${NVIM+x} ]]; then
|
||||||
|
alias vim="nvr --remote"
|
||||||
|
export EDITOR=nvr-edit
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
programs.bash = {
|
||||||
|
enable = true;
|
||||||
|
enableCompletion = true;
|
||||||
|
|
||||||
|
initExtra = ''
|
||||||
|
if [[ -n ''${NVIM+x} ]]; then
|
||||||
|
alias vim="nvr --remote"
|
||||||
|
export EDITOR=nvr-edit
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable home-manager and git
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
|
# Nicely reload system units when changing configs
|
||||||
|
systemd.user.startServices = "sd-switch";
|
||||||
|
|
||||||
|
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
||||||
|
home.stateVersion = "23.05";
|
||||||
|
}
|
66
home-manager/traverseda/kde-desktop.nix
Normal file
66
home-manager/traverseda/kde-desktop.nix
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
|
||||||
|
{
|
||||||
|
inputs,
|
||||||
|
outputs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
inputs.plasma-manager.homeManagerModules.plasma-manager
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.plasma = {
|
||||||
|
enable = true;
|
||||||
|
# workspace = {
|
||||||
|
# theme = "breeze-dark";
|
||||||
|
# colorScheme = "BreezeDark";
|
||||||
|
# };
|
||||||
|
shortcuts = {
|
||||||
|
"services/org.kde.konsole.desktop"."_launch" = ["Meta+Return" "Ctrl+Alt+T"];
|
||||||
|
"kwin"."Window Close" = ["Meta+Shift+C" "Alt+F4"];
|
||||||
|
"kwin"."Cube" = "Meta+C";
|
||||||
|
};
|
||||||
|
shortcuts.plasmashell = {
|
||||||
|
"activate task manager entry 1" = "";
|
||||||
|
"activate task manager entry 2" = "";
|
||||||
|
"activate task manager entry 3" = "";
|
||||||
|
"activate task manager entry 4" = "";
|
||||||
|
"activate task manager entry 5" = "";
|
||||||
|
"activate task manager entry 6" = "";
|
||||||
|
"activate task manager entry 7" = "";
|
||||||
|
"activate task manager entry 8" = "";
|
||||||
|
"activate task manager entry 9" = "";
|
||||||
|
};
|
||||||
|
shortcuts.kwin = {
|
||||||
|
"Switch to Desktop 1" = "Meta+1";
|
||||||
|
"Window to Desktop 1" = "Meta+!";
|
||||||
|
"Switch to Desktop 2" = "Meta+2";
|
||||||
|
"Window to Desktop 2" = "Meta+@";
|
||||||
|
"Switch to Desktop 3" = "Meta+3";
|
||||||
|
"Window to Desktop 3" = "Meta+#";
|
||||||
|
"Switch to Desktop 4" = "Meta+4";
|
||||||
|
"Window to Desktop 4" = "Meta+$";
|
||||||
|
"Switch to Desktop 5" = "Meta+5";
|
||||||
|
"Window to Desktop 5" = "Meta+%";
|
||||||
|
"Switch to Desktop 6" = "Meta+6";
|
||||||
|
"Window to Desktop 6" = "Meta+^";
|
||||||
|
"Switch to Desktop 7" = "Meta+7";
|
||||||
|
"Window to Desktop 7" = "Meta+&";
|
||||||
|
"Switch to Desktop 8" = "Meta+8";
|
||||||
|
"Window to Desktop 8" = "Meta+*";
|
||||||
|
"Switch to Desktop 9" = "Meta+9";
|
||||||
|
"Window to Desktop 9" = "Meta+(";
|
||||||
|
"Switch to Desktop 10" = "Meta+0";
|
||||||
|
"Window to Desktop 10" = "Meta+)";
|
||||||
|
};
|
||||||
|
configFile = {
|
||||||
|
"kwinrc"."Desktops"."Number"."value" = 10;
|
||||||
|
"kwinrc"."Desktops"."Rows"."value" = 2;
|
||||||
|
"kwinrc"."Plugins"."cubeEnabled" = true;
|
||||||
|
"kwinrc"."Windows"."FocusPolicy" = "FocusFollowsMouse";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
29
hostnames.md
Normal file
29
hostnames.md
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
Raphael
|
||||||
|
Michael
|
||||||
|
Uriel
|
||||||
|
#Azrael
|
||||||
|
#Ariel
|
||||||
|
Cassiel
|
||||||
|
Jophiel
|
||||||
|
Zadkiel
|
||||||
|
#Raziel
|
||||||
|
Raguel
|
||||||
|
Chamuel
|
||||||
|
Haniel
|
||||||
|
Jeremiel
|
||||||
|
#Metatron
|
||||||
|
Sandalphon
|
||||||
|
Sariel
|
||||||
|
#Selaphiel
|
||||||
|
Barachiel
|
||||||
|
Zaphkiel
|
||||||
|
Gadreel
|
||||||
|
Remiel
|
||||||
|
Anael
|
||||||
|
Raguel
|
||||||
|
Samael
|
||||||
|
Raziel
|
||||||
|
Tzaphkiel
|
||||||
|
Tzadkiel
|
||||||
|
Sachiel
|
||||||
|
Adriel
|
@ -1,11 +1,12 @@
|
|||||||
{ config, pkgs, lib, ... }:
|
{
|
||||||
|
# config,
|
||||||
|
pkgs,
|
||||||
|
# lib,
|
||||||
|
... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
|
environment.systemPackages = [
|
||||||
environment.systemPackages = with pkgs; [
|
#pkgs.creality-print
|
||||||
pkgs.openscad
|
|
||||||
pkgs.blender
|
|
||||||
pkgs.freecad
|
|
||||||
(pkgs.appimageTools.wrapType2
|
(pkgs.appimageTools.wrapType2
|
||||||
{
|
{
|
||||||
name = "creality-print";
|
name = "creality-print";
|
||||||
@ -14,6 +15,11 @@
|
|||||||
sha256 = "sha256-WUsL7UbxSY94H4F1Ww8vLsfRyeg2/DZ+V4B6eH3M6+M=";
|
sha256 = "sha256-WUsL7UbxSY94H4F1Ww8vLsfRyeg2/DZ+V4B6eH3M6+M=";
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
pkgs.lightburn
|
||||||
|
pkgs.openscad
|
||||||
|
pkgs.blender-cadsketcher
|
||||||
|
#pkgs.py-slvs
|
||||||
|
pkgs.freecad
|
||||||
# (pkgs.appimageTools.wrapType2
|
# (pkgs.appimageTools.wrapType2
|
||||||
# {
|
# {
|
||||||
# name = "orca-slicer";
|
# name = "orca-slicer";
|
||||||
|
@ -43,10 +43,10 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
networking.hostName = hostname; # Define your hostname.
|
networking.hostName = hostname; # Define your hostname.
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
|
nix.settings.trusted-users = [ "root" "traverseda" "logic11"];
|
||||||
nix.optimise.automatic = true;
|
|
||||||
|
|
||||||
virtualisation.vmVariant = {
|
virtualisation.vmVariant = {
|
||||||
# following configuration is added only when building VM with build-vm
|
# following configuration is added only when building VM with build-vm
|
||||||
@ -54,6 +54,11 @@
|
|||||||
virtualisation.memorySize = 4096;
|
virtualisation.memorySize = 4096;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#Fix various minor ADB issues
|
||||||
|
services.udev.packages = [
|
||||||
|
pkgs.android-udev-rules
|
||||||
|
];
|
||||||
|
|
||||||
# This will add each flake input as a registry
|
# This will add each flake input as a registry
|
||||||
# To make nix3 commands consistent with your flake
|
# To make nix3 commands consistent with your flake
|
||||||
nix.registry = (lib.mapAttrs (_: flake: {inherit flake;})) ((lib.filterAttrs (_: lib.isType "flake")) inputs);
|
nix.registry = (lib.mapAttrs (_: flake: {inherit flake;})) ((lib.filterAttrs (_: lib.isType "flake")) inputs);
|
||||||
@ -72,21 +77,45 @@
|
|||||||
nix.settings = {
|
nix.settings = {
|
||||||
# Enable flakes and new 'nix' command
|
# Enable flakes and new 'nix' command
|
||||||
experimental-features = "nix-command flakes";
|
experimental-features = "nix-command flakes";
|
||||||
# Deduplicate and optimize nix store
|
};
|
||||||
auto-optimise-store = true;
|
|
||||||
|
#Deduplicate nix store on a timer
|
||||||
|
nix.optimise.automatic = true;
|
||||||
|
|
||||||
|
#Delete old generations
|
||||||
|
nix.gc.automatic = true;
|
||||||
|
nix.gc.dates = "weekly";
|
||||||
|
nix.gc.options = "--delete-older-than 30d";
|
||||||
|
|
||||||
|
programs.neovim = {
|
||||||
|
enable = true;
|
||||||
|
defaultEditor = true;
|
||||||
|
viAlias = true;
|
||||||
|
vimAlias = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = [
|
||||||
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
||||||
# wget
|
# wget
|
||||||
pkgs.neovim
|
|
||||||
pkgs.mosh
|
pkgs.mosh
|
||||||
|
pkgs.htop
|
||||||
pkgs.git
|
pkgs.git
|
||||||
pkgs.usbutils
|
pkgs.usbutils
|
||||||
pkgs.pciutils
|
pkgs.pciutils
|
||||||
appimage-run
|
pkgs.lsof
|
||||||
|
pkgs.p7zip
|
||||||
|
pkgs.atool
|
||||||
|
pkgs.comma
|
||||||
|
pkgs.home-manager
|
||||||
|
pkgs.appimage-run
|
||||||
|
pkgs.linuxPackages.usbip
|
||||||
];
|
];
|
||||||
|
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
lfs.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
boot.binfmt.registrations.appimage = {
|
boot.binfmt.registrations.appimage = {
|
||||||
wrapInterpreterInShell = false;
|
wrapInterpreterInShell = false;
|
||||||
interpreter = "${pkgs.appimage-run}/bin/appimage-run";
|
interpreter = "${pkgs.appimage-run}/bin/appimage-run";
|
||||||
@ -102,6 +131,7 @@
|
|||||||
services.automatic-timezoned.enable = true;
|
services.automatic-timezoned.enable = true;
|
||||||
|
|
||||||
virtualisation.docker.enable = true;
|
virtualisation.docker.enable = true;
|
||||||
|
virtualisation.docker.liveRestore = false;
|
||||||
|
|
||||||
#Puts fonts in /run/current-system/sw/share/X11/fonts
|
#Puts fonts in /run/current-system/sw/share/X11/fonts
|
||||||
fonts.fontDir.enable = true;
|
fonts.fontDir.enable = true;
|
||||||
@ -127,7 +157,7 @@
|
|||||||
extraSpecialArgs = { inherit inputs outputs; };
|
extraSpecialArgs = { inherit inputs outputs; };
|
||||||
backupFileExtension = ".bak";
|
backupFileExtension = ".bak";
|
||||||
users = {
|
users = {
|
||||||
traverseda = import ../home-manager/home.nix;
|
traverseda = import ../home-manager/traverseda/home.nix;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -143,6 +173,26 @@
|
|||||||
AllowUsers = [ "traverseda" ];
|
AllowUsers = [ "traverseda" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
system.autoUpgrade = {
|
||||||
|
enable = true;
|
||||||
|
flake = "git+https://codeberg.org/traverseda/nixos-config#${hostname}";
|
||||||
|
flags = [
|
||||||
|
];
|
||||||
|
dates = "02:00";
|
||||||
|
randomizedDelaySec = "45min";
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.nix-ld.enable = true;
|
||||||
|
programs.nix-ld.libraries = with pkgs; [
|
||||||
|
];
|
||||||
|
|
||||||
|
#Create ldpadmin group for printer access
|
||||||
|
services.printing.extraFilesConf = ''
|
||||||
|
SystemGroup root wheel lpadmin
|
||||||
|
'';
|
||||||
|
users.groups = {
|
||||||
|
lpadmin = { };
|
||||||
|
};
|
||||||
|
|
||||||
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
||||||
system.stateVersion = "23.05";
|
system.stateVersion = "23.05";
|
||||||
|
@ -1,17 +1,30 @@
|
|||||||
|
|
||||||
{ inputs, outputs, lib, config, pkgs, hostname, specialArgs, ... }: {
|
{ inputs, outputs, lib, config, pkgs, hostname, specialArgs, ... }:
|
||||||
|
|
||||||
services.displayManager = {
|
let
|
||||||
|
autoLoginUser = specialArgs.mainUser or null;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
services.displayManager = lib.mkIf (autoLoginUser != null) {
|
||||||
autoLogin.enable = true;
|
autoLogin.enable = true;
|
||||||
autoLogin.user = "${specialArgs.mainUser}";
|
autoLogin.user = autoLoginUser;
|
||||||
};
|
};
|
||||||
users.users = {
|
users.users = {
|
||||||
gwen = {
|
gwen = {
|
||||||
# You can set an initial password for your user.
|
|
||||||
# If you do, you can skip setting a root password by passing '--no-root-passwd' to nixos-install.
|
|
||||||
# Be sure to change it (using passwd) after rebooting!
|
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
extraGroups = [ "networkManager" ];
|
extraGroups = [ "networkManager" "lpadmin" ];
|
||||||
|
};
|
||||||
|
ingrid = {
|
||||||
|
isNormalUser = true;
|
||||||
|
extraGroups = [ "networkManager" "lpadmin" ];
|
||||||
|
};
|
||||||
|
bill = {
|
||||||
|
isNormalUser = true;
|
||||||
|
extraGroups = [ "networkManager" "lpadmin" ];
|
||||||
|
};
|
||||||
|
logic11 = {
|
||||||
|
isNormalUser = true;
|
||||||
|
extraGroups = [ "wheel" "dialout" "networkmanager" "dialout" "docker" "plugdev" "vboxusers" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
pkgs.discord
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
42
nixos/hardware/adrial.nix
Normal file
42
nixos/hardware/adrial.nix
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "usb_storage" "sd_mod" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/115f9271-46e1-4a41-accb-1645a9e82a0e";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=@" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/8A22-C3C6";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [ "fmask=0022" "dmask=0022" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices =
|
||||||
|
[ { device = "/dev/disk/by-uuid/18d77521-9857-4be8-a7da-f10288cfa3b0"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.enp1s0.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.wlp2s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
40
nixos/hardware/ariel.nix
Normal file
40
nixos/hardware/ariel.nix
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "usb_storage" "sd_mod" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/fe5ec606-9052-463e-b402-e37dd206b87f";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/C746-7DF9";
|
||||||
|
fsType = "vfat";
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices =
|
||||||
|
[ { device = "/dev/disk/by-uuid/654049ca-318f-453d-ad70-9d2a35d42a6d"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.enp1s0.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.wlp2s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
@ -29,18 +29,21 @@
|
|||||||
device = "/dev/nvme0n1p3";
|
device = "/dev/nvme0n1p3";
|
||||||
randomEncryption.enable = true;
|
randomEncryption.enable = true;
|
||||||
} ];
|
} ];
|
||||||
|
hardware.nvidia-container-toolkit.enable = true;
|
||||||
|
hardware.nvidia = {
|
||||||
|
powerManagement.finegrained = false;
|
||||||
|
prime = {
|
||||||
|
offload = {
|
||||||
|
enable = true;
|
||||||
|
enableOffloadCmd = true;
|
||||||
|
};
|
||||||
|
|
||||||
hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.stable;
|
# Make sure to use the correct Bus ID values for your system!
|
||||||
hardware.nvidia.prime = {
|
intelBusId = "PCI:0:0:2";
|
||||||
offload = {
|
nvidiaBusId = "PCI:1:0:0";
|
||||||
enable = true;
|
};
|
||||||
enableOffloadCmd = true;
|
};
|
||||||
};
|
services.xserver.videoDrivers = [ "nvidia" ];
|
||||||
|
|
||||||
# Make sure to use the correct Bus ID values for your system!
|
|
||||||
intelBusId = "PCI:0:0:2";
|
|
||||||
nvidiaBusId = "PCI:1:0:0";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
38
nixos/hardware/chamuel.nix
Normal file
38
nixos/hardware/chamuel.nix
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "firewire_ohci" "usbhid" "usb_storage" "sd_mod" "sr_mod" "sdhci_pci" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/946dac58-4ad2-463d-b0a4-46064a3e9e2f";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/6D60-03A9";
|
||||||
|
fsType = "vfat";
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.enp0s25.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.wlo1.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
@ -8,32 +8,30 @@
|
|||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
|
boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "firewire_ohci" "usbhid" "usb_storage" "sd_mod" "sr_mod" "sdhci_pci" ];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = [ ];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" =
|
||||||
{ device = "/dev/disk/by-uuid/91d9a91c-9c69-4d82-85dc-42598b9ceaec";
|
{ device = "/dev/disk/by-uuid/946dac58-4ad2-463d-b0a4-46064a3e9e2f";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" =
|
||||||
{ device = "/dev/disk/by-uuid/BED6-71B3";
|
{ device = "/dev/disk/by-uuid/6D60-03A9";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices =
|
swapDevices = [ ];
|
||||||
[ { device = "/dev/disk/by-uuid/693adc19-c9d6-43a2-8e80-044f93a73af9"; }
|
|
||||||
];
|
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
# still possible to use this option, but it's recommended to use it in conjunction
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
networking.useDHCP = lib.mkDefault true;
|
networking.useDHCP = lib.mkDefault true;
|
||||||
# networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true;
|
# networking.interfaces.enp0s25.useDHCP = lib.mkDefault true;
|
||||||
# networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true;
|
# networking.interfaces.wlo1.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
@ -14,17 +14,17 @@
|
|||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" =
|
||||||
{ device = "/dev/disk/by-uuid/50ac51e9-5ac3-4f11-ae92-f3d43b5b602e";
|
{ device = "/dev/disk/by-uuid/df5a8047-3bbb-4a48-9b9e-5ffa8b292339";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" =
|
||||||
{ device = "/dev/disk/by-uuid/F953-8DA5";
|
{ device = "/dev/disk/by-uuid/F953-8DA5";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices =
|
swapDevices =
|
||||||
[ { device = "/dev/disk/by-uuid/067ac10e-d118-4e8c-bbe8-01ac99065024"; }
|
[ { device = "/dev/disk/by-uuid/c66d85ae-e3b7-4aee-a457-d13cfe87ec84"; }
|
||||||
];
|
];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
41
nixos/hardware/selaphiel.nix
Normal file
41
nixos/hardware/selaphiel.nix
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/1c4d73a3-ce64-42c8-beda-b27e085a80c1";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/B16C-FE36";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [ "fmask=0022" "dmask=0022" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices =
|
||||||
|
[ { device = "/dev/disk/by-uuid/24533029-c0f8-44d7-b3f5-12a5e5327ed1"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
@ -1,14 +1,30 @@
|
|||||||
{ config, pkgs, lib, ... }:
|
{ inputs, outputs, lib, config, pkgs, hostname, specialArgs, options, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
|
imports = [
|
||||||
|
./misc/dslr-webcam.nix
|
||||||
|
./misc/wifi-multiplex.nix
|
||||||
|
];
|
||||||
# Enable the KDE Desktop Environment.
|
# Enable the KDE Desktop Environment.
|
||||||
services.xserver.enable = true;
|
services.xserver.enable = true;
|
||||||
services.displayManager.sddm.enable = true;
|
services.displayManager.sddm.enable = true;
|
||||||
services.desktopManager.plasma6.enable = true;
|
services.desktopManager.plasma6.enable = true;
|
||||||
services.displayManager.sddm.wayland.enable = true;
|
services.displayManager.sddm.wayland.enable = true;
|
||||||
services.displayManager.defaultSession = "plasma";
|
services.displayManager.defaultSession = "plasma";
|
||||||
|
services.displayManager = {
|
||||||
|
autoLogin.enable = lib.mkDefault false;
|
||||||
|
};
|
||||||
|
|
||||||
services.flatpak.enable = true;
|
services.flatpak.enable = true;
|
||||||
|
|
||||||
|
environment.etc = {
|
||||||
|
"flatpak/remotes.d/flathub.flatpakrepo".source = pkgs.fetchurl {
|
||||||
|
url = "https://dl.flathub.org/repo/flathub.flatpakrepo";
|
||||||
|
hash = "sha256-M3HdJQ5h2eFjNjAHP+/aFTzUQm9y9K+gwzc64uj+oDo="
|
||||||
|
;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
services.packagekit.enable = true;
|
services.packagekit.enable = true;
|
||||||
services.fwupd.enable = true;
|
services.fwupd.enable = true;
|
||||||
|
|
||||||
@ -24,6 +40,15 @@
|
|||||||
services.printing.enable = true;
|
services.printing.enable = true;
|
||||||
programs.kdeconnect.enable = true;
|
programs.kdeconnect.enable = true;
|
||||||
|
|
||||||
|
#Enable flatpak repo by default for all users
|
||||||
|
systemd.services.flatpak-repo = {
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
path = [ pkgs.flatpak ];
|
||||||
|
script = ''
|
||||||
|
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
pkgs.krfb
|
pkgs.krfb
|
||||||
pkgs.krdc
|
pkgs.krdc
|
||||||
@ -39,6 +64,8 @@
|
|||||||
pkgs.nextcloud-client
|
pkgs.nextcloud-client
|
||||||
pkgs.iw
|
pkgs.iw
|
||||||
pkgs.vlc
|
pkgs.vlc
|
||||||
|
pkgs.signal-desktop
|
||||||
|
pkgs.anki
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.dconf.enable = true;
|
programs.dconf.enable = true;
|
||||||
@ -76,6 +103,14 @@ programs.dconf.enable = true;
|
|||||||
hardware.bluetooth.enable = true;
|
hardware.bluetooth.enable = true;
|
||||||
hardware.bluetooth.powerOnBoot = true;
|
hardware.bluetooth.powerOnBoot = true;
|
||||||
|
|
||||||
|
home-manager = {
|
||||||
|
extraSpecialArgs = { inherit inputs outputs; };
|
||||||
|
backupFileExtension = ".bak";
|
||||||
|
users = {
|
||||||
|
traverseda = import ../home-manager/traverseda/kde-desktop.nix;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
#Enable support for my logitech bluetooth peripherals
|
#Enable support for my logitech bluetooth peripherals
|
||||||
hardware.logitech.wireless.enable = true;
|
hardware.logitech.wireless.enable = true;
|
||||||
hardware.logitech.wireless.enableGraphical = true;
|
hardware.logitech.wireless.enableGraphical = true;
|
||||||
|
60
nixos/misc/dslr-webcam.nix
Normal file
60
nixos/misc/dslr-webcam.nix
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
{ pkgs, lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
dslrWebcamConfContent = ''
|
||||||
|
alias dslr-webcam v4l2loopback
|
||||||
|
options v4l2loopback exclusive_caps=1 max_buffers=2 card_label="DSLR" video_nr=10
|
||||||
|
'';
|
||||||
|
|
||||||
|
dslrUdevRule = ''
|
||||||
|
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="04a9", ENV{ID_USB_MODEL}=="Canon_Digital_Camera", RUN+="${pkgs.systemd}/bin/systemctl start dslr-webcam.service"
|
||||||
|
ACTION=="remove", SUBSYSTEM=="usb", ATTR{idVendor}=="04a9", ENV{ID_USB_MODEL}=="Canon_Digital_Camera", RUN+="${pkgs.systemd}/bin/systemctl stop dslr-webcam.service"
|
||||||
|
'';
|
||||||
|
|
||||||
|
dslrWebcamScript = ''
|
||||||
|
#!/bin/sh
|
||||||
|
modprobe dslr-webcam || true
|
||||||
|
exec "${pkgs.gphoto2}/bin/gphoto2" --stdout --capture-movie | "${pkgs.ffmpeg}/bin/ffmpeg" -i - -vcodec rawvideo -pix_fmt yuv420p -f v4l2 /dev/video10
|
||||||
|
'';
|
||||||
|
|
||||||
|
dslrWebcamService = ''
|
||||||
|
[Unit]
|
||||||
|
Description=DSLR Webcam Service
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=${pkgs.writeScriptBin "dslr-webcam" dslrWebcamScript}/bin/dslr-webcam
|
||||||
|
ExecStop=/bin/kill -s TERM $MAINPID
|
||||||
|
Restart=on-failure
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
'';
|
||||||
|
in
|
||||||
|
{
|
||||||
|
# Ensure your system configuration includes these options:
|
||||||
|
|
||||||
|
boot.extraModulePackages = [ pkgs.linuxPackages.v4l2loopback ];
|
||||||
|
|
||||||
|
# Load v4l2loopback module with the required options
|
||||||
|
boot.extraModprobeConfig = dslrWebcamConfContent;
|
||||||
|
|
||||||
|
# Udev rule for DSLR camera
|
||||||
|
services.udev.extraRules = dslrUdevRule;
|
||||||
|
|
||||||
|
# Install dslr-webcam script and systemd service
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
(writeScriptBin "dslr-webcam" dslrWebcamScript)
|
||||||
|
];
|
||||||
|
|
||||||
|
systemd.services.dslr-webcam = {
|
||||||
|
description = "DSLR Webcam Service";
|
||||||
|
serviceConfig = {
|
||||||
|
ExecStart = "${pkgs.writeScriptBin "dslr-webcam" dslrWebcamScript}/bin/dslr-webcam";
|
||||||
|
|
||||||
|
Restart = "on-failure";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
BIN
nixos/misc/test_plate.png
Normal file
BIN
nixos/misc/test_plate.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 31 KiB |
14
nixos/misc/wifi-multiplex.nix
Normal file
14
nixos/misc/wifi-multiplex.nix
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{ pkgs, lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
wifiUdevRule = ''
|
||||||
|
ACTION=="add", SUBSYSTEM=="net", ENV{DEVTYPE}=="wlan", KERNEL!="virt_", RUN+="${pkgs.iw}/bin/iw dev %k interface add virt_%k_ap type station"
|
||||||
|
'';
|
||||||
|
in
|
||||||
|
{
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
iw
|
||||||
|
];
|
||||||
|
|
||||||
|
services.udev.extraRules = wifiUdevRule;
|
||||||
|
}
|
16
nixos/vr-desktop.nix
Normal file
16
nixos/vr-desktop.nix
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
{
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
# (import (pkgs.fetchFromGitHub "https://github.com/SimulaVR/Simula.git"))
|
||||||
|
];
|
||||||
|
|
||||||
|
services.monado.enable = true;
|
||||||
|
|
||||||
|
programs.alvr = {
|
||||||
|
enable = true;
|
||||||
|
openFirewall = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
];
|
||||||
|
}
|
@ -1,14 +1,79 @@
|
|||||||
{ config, pkgs, lib, ros, ... }:
|
{
|
||||||
|
# config,
|
||||||
|
pkgs,
|
||||||
|
# lib,
|
||||||
|
# ros,
|
||||||
|
... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
virtualisation.virtualbox.host.enable = true;
|
virtualisation.virtualbox.host.enable = true;
|
||||||
users.extraGroups.vboxusers.members = [ "traverseda" ];
|
users.extraGroups.vboxusers.members = [ "traverseda" ];
|
||||||
|
boot.binfmt.emulatedSystems = ["aarch64-linux"];
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
security.wrappers = {
|
||||||
|
firejail = {
|
||||||
|
source = "${pkgs.firejail.out}/bin/firejail";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.firejail = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.nix-ld = {
|
||||||
|
enable = true;
|
||||||
|
#Include libstdc++ in the nix-ld profile
|
||||||
|
libraries = [
|
||||||
|
pkgs.stdenv.cc.cc
|
||||||
|
pkgs.zlib
|
||||||
|
pkgs.fuse3
|
||||||
|
pkgs.icu
|
||||||
|
pkgs.nss
|
||||||
|
pkgs.openssl
|
||||||
|
pkgs.curl
|
||||||
|
pkgs.expat
|
||||||
|
pkgs.xorg.libX11
|
||||||
|
pkgs.vulkan-headers
|
||||||
|
pkgs.vulkan-loader
|
||||||
|
pkgs.vulkan-tools
|
||||||
|
pkgs.kdePackages.full
|
||||||
|
pkgs.qt5.full
|
||||||
|
pkgs.libxkbcommon
|
||||||
|
pkgs.mesa
|
||||||
|
pkgs.glib
|
||||||
|
pkgs.fontconfig
|
||||||
|
pkgs.freetype
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = [
|
||||||
|
pkgs.qemu
|
||||||
pkgs.qgroundcontrol
|
pkgs.qgroundcontrol
|
||||||
pkgs.distrobox
|
pkgs.vscode
|
||||||
|
pkgs.stdenv
|
||||||
|
pkgs.gcc
|
||||||
|
pkgs.rustc
|
||||||
|
pkgs.cargo
|
||||||
|
pkgs.zig
|
||||||
|
pkgs.kompare
|
||||||
|
pkgs.unstable.distrobox
|
||||||
pkgs.element-desktop
|
pkgs.element-desktop
|
||||||
pkgs.logseq
|
pkgs.act
|
||||||
|
|
||||||
|
# pkgs.logseq
|
||||||
|
(pkgs.writeShellScriptBin "python" ''
|
||||||
|
export LD_LIBRARY_PATH=$NIX_LD_LIBRARY_PATH
|
||||||
|
exec ${pkgs.python3}/bin/python "$@"
|
||||||
|
'')
|
||||||
|
|
||||||
|
(pkgs.writeShellScriptBin "poetry" ''
|
||||||
|
export LD_LIBRARY_PATH=$NIX_LD_LIBRARY_PATH
|
||||||
|
exec ${pkgs.poetry}/bin/poetry "$@"
|
||||||
|
'')
|
||||||
|
(pkgs.writeShellScriptBin "pipx" ''
|
||||||
|
export LD_LIBRARY_PATH=$NIX_LD_LIBRARY_PATH
|
||||||
|
exec ${pkgs.pipx}/bin/pipx "$@"
|
||||||
|
'')
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5,10 +5,10 @@ let
|
|||||||
in {
|
in {
|
||||||
|
|
||||||
networking.firewall.trustedInterfaces = privateZeroTierInterfaces; # TRUST VPN ONLY
|
networking.firewall.trustedInterfaces = privateZeroTierInterfaces; # TRUST VPN ONLY
|
||||||
|
|
||||||
services.avahi = {
|
services.avahi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
allowInterfaces = privateZeroTierInterfaces; # ONLY BROADCAST ON VPN
|
#allowInterfaces = privateZeroTierInterfaces; # ONLY BROADCAST ON VPN
|
||||||
ipv6 = true;
|
ipv6 = true;
|
||||||
publish.enable = true;
|
publish.enable = true;
|
||||||
publish.userServices = true;
|
publish.userServices = true;
|
||||||
@ -18,7 +18,7 @@ in {
|
|||||||
publish.workstation = true; # ADDED TO DESKTOP MACHINES
|
publish.workstation = true; # ADDED TO DESKTOP MACHINES
|
||||||
cacheEntriesMax = 512;
|
cacheEntriesMax = 512;
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.services.createDevicemap = {
|
systemd.services.createDevicemap = {
|
||||||
description = "Create ZeroTier devicemap file";
|
description = "Create ZeroTier devicemap file";
|
||||||
before = [ "zerotierone.service" ]; # Ensure ZeroTier service has started
|
before = [ "zerotierone.service" ]; # Ensure ZeroTier service has started
|
||||||
|
@ -12,8 +12,11 @@
|
|||||||
# });
|
# });
|
||||||
};
|
};
|
||||||
|
|
||||||
|
ros = inputs.ros.overlay;
|
||||||
|
|
||||||
# When applied, the unstable nixpkgs set (declared in the flake inputs) will
|
# When applied, the unstable nixpkgs set (declared in the flake inputs) will
|
||||||
# be accessible through 'pkgs.unstable'
|
# be accessible through 'pkgs.unstable'
|
||||||
|
|
||||||
unstable-packages = final: _prev: {
|
unstable-packages = final: _prev: {
|
||||||
unstable = import inputs.nixpkgs-unstable {
|
unstable = import inputs.nixpkgs-unstable {
|
||||||
system = final.system;
|
system = final.system;
|
||||||
|
40
pkgs/blender-cadsketcher/default.nix
Normal file
40
pkgs/blender-cadsketcher/default.nix
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
{ lib, blender, python3Packages, pkgs, fetchurl }:
|
||||||
|
|
||||||
|
let
|
||||||
|
py-slvs = python3Packages.buildPythonPackage rec {
|
||||||
|
pname = "py-slvs";
|
||||||
|
version = "1.0.6";
|
||||||
|
|
||||||
|
src = python3Packages.fetchPypi {
|
||||||
|
pname = "py_slvs";
|
||||||
|
version = "1.0.6";
|
||||||
|
sha256 = "sha256-U6T/aXy0JTC1ptL5oBmch0ytSPmIkRA8XOi31NpArnI=";
|
||||||
|
};
|
||||||
|
|
||||||
|
pyproject = true;
|
||||||
|
|
||||||
|
nativeBuildInputs = with pkgs; [
|
||||||
|
swig
|
||||||
|
];
|
||||||
|
|
||||||
|
propagatedBuildInputs = with python3Packages; [
|
||||||
|
cmake
|
||||||
|
ninja
|
||||||
|
setuptools
|
||||||
|
scikit-build
|
||||||
|
];
|
||||||
|
|
||||||
|
dontUseCmakeConfigure = true;
|
||||||
|
|
||||||
|
meta = with pkgs.lib; {
|
||||||
|
description = "Python binding of SOLVESPACE geometry constraint solver";
|
||||||
|
homepage = "https://github.com/realthunder/slvs_py";
|
||||||
|
license = licenses.gpl3;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
blenderWithPySlvs = blender.withPackages (p: [py-slvs]);
|
||||||
|
|
||||||
|
in
|
||||||
|
blenderWithPySlvs
|
||||||
|
|
@ -1,11 +1,16 @@
|
|||||||
{ pkgs ? import <nixpkgs> {} }:
|
{ pkgs ? import <nixpkgs> {} }:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
# URL and SHA256 for Creality Print AppImage
|
||||||
|
appimageUrl = "https://file2-cdn.creality.com/file/05a4538e0c7222ce547eb8d58ef0251e/Creality_Print-v4.3.7.6627-x86_64-Release.AppImage";
|
||||||
|
appimageSha256 = "sha256-WUsL7UbxSY94H4F1Ww8vLsfRyeg2/DZ+V4B6eH3M6+M=";
|
||||||
|
|
||||||
|
# Wrap the AppImage using appimageTools
|
||||||
creality-print = pkgs.appimageTools.wrapType2 {
|
creality-print = pkgs.appimageTools.wrapType2 {
|
||||||
name = "creality-print";
|
name = "creality-print";
|
||||||
src = pkgs.fetchurl {
|
src = pkgs.fetchurl {
|
||||||
url = "https://file2-cdn.creality.com/file/05a4538e0c7222ce547eb8d58ef0251e/Creality_Print-v4.3.7.6627-x86_64-Release.AppImage";
|
url = appimageUrl;
|
||||||
sha256 = "sha256-WUsL7UbxSY94H4F1Ww8vLsfRyeg2/DZ+V4B6eH3M6+M=";
|
sha256 = appimageSha256;
|
||||||
};
|
};
|
||||||
profile = ''
|
profile = ''
|
||||||
export LC_ALL=C.UTF-8
|
export LC_ALL=C.UTF-8
|
||||||
@ -13,34 +18,46 @@ let
|
|||||||
multiPkgs = pkgs: with pkgs; [ qt5.qtbase libGL libz ];
|
multiPkgs = pkgs: with pkgs; [ qt5.qtbase libGL libz ];
|
||||||
};
|
};
|
||||||
|
|
||||||
desktopItem = pkgs.makeDesktopItem {
|
|
||||||
name = "creality-print";
|
|
||||||
exec = "${creality-print}/bin/creality-print";
|
|
||||||
icon = "creality-print";
|
|
||||||
desktopName = "Creality Print";
|
|
||||||
genericName = "3D Printer Software";
|
|
||||||
categories = [ "Graphics" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
in
|
in
|
||||||
|
# Define the package
|
||||||
pkgs.stdenv.mkDerivation {
|
pkgs.stdenv.mkDerivation {
|
||||||
name = "creality-print-app";
|
name = "creality-print";
|
||||||
buildInputs = [ creality-print ];
|
buildInputs = [ creality-print pkgs.bash ];
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgs.makeWrapper ];
|
nativeBuildInputs = [ pkgs.makeWrapper pkgs.icoutils pkgs.unpacker ];
|
||||||
|
|
||||||
|
# No sources to unpack
|
||||||
unpackPhase = "true";
|
unpackPhase = "true";
|
||||||
|
|
||||||
|
# Extraction phase to get the icon from the AppImage
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin $out/share/applications
|
mkdir -p $out/bin $out/share/applications $out/share/icons/hicolor/256x256/apps
|
||||||
|
|
||||||
|
# Extract the AppImage content
|
||||||
|
appimage-extract ${creality-print}/bin/creality-print
|
||||||
|
|
||||||
|
# Find and copy the icon (typically the largest icon available)
|
||||||
|
cp ./squashfs-root/*.png $out/share/icons/hicolor/256x256/apps/creality-print.png || true
|
||||||
|
|
||||||
|
# Copy the binary files
|
||||||
cp ${creality-print}/bin/* $out/bin
|
cp ${creality-print}/bin/* $out/bin
|
||||||
ln -s ${desktopItem}/share/applications/* $out/share/applications/
|
|
||||||
|
# Create the desktop entry with the extracted icon
|
||||||
|
cat > $out/share/applications/creality-print.desktop <<EOF
|
||||||
|
[Desktop Entry]
|
||||||
|
Name=Creality Print
|
||||||
|
Exec=$out/bin/creality-print
|
||||||
|
Icon=creality-print
|
||||||
|
Type=Application
|
||||||
|
Categories=Graphics;
|
||||||
|
EOF
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
# Package metadata
|
||||||
meta = with pkgs.lib; {
|
meta = with pkgs.lib; {
|
||||||
description = "Creality Print is a 3D printer software for Creality printers";
|
description = "Creality Print is a 3D printer software for Creality printers";
|
||||||
homepage = "https://www.creality.com/";
|
homepage = "https://www.creality.com/";
|
||||||
license = licenses.unfree;
|
license = licenses.gpl3;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -6,4 +6,5 @@
|
|||||||
{
|
{
|
||||||
# example = pkgs.callPackage ./example { };
|
# example = pkgs.callPackage ./example { };
|
||||||
creality-print = pkgs.callPackage ./creality-print { };
|
creality-print = pkgs.callPackage ./creality-print { };
|
||||||
|
blender-cadsketcher = pkgs.callPackage ./blender-cadsketcher { };
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user