mirror of
https://github.com/Cian-H/My_NixOS_Config.git
synced 2026-08-03 10:43:22 +01:00
Compare commits
101
Commits
894a5c9828
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a7c424e7da | ||
|
|
330e48d09d | ||
|
|
5e58401b07 | ||
|
|
759b219c36 | ||
|
|
f1480817f9 | ||
|
|
ccb5714ecd | ||
|
|
9f328e3e73 | ||
|
|
e90109b4ee | ||
|
|
fe279323a0 | ||
|
|
36f3f5b4c1 | ||
|
|
39572de780 | ||
|
|
3a7fbf1cc8 | ||
|
|
2b95358efc | ||
|
|
f3830a1fe9 | ||
|
|
16ab94d392 | ||
|
|
9a4ee42bf5 | ||
|
|
ab9a7210eb | ||
|
|
d0300e49a0 | ||
|
|
37d453b59e | ||
|
|
dd2adf6b0d | ||
|
|
1a66a5db02 | ||
|
|
2020356adb | ||
|
|
7c772445dd | ||
|
|
bd2b503d32 | ||
|
|
30b7fc282d | ||
|
|
5c0bc90983 | ||
|
|
ba3bbc68a5 | ||
|
|
ad8a7e6f86 | ||
|
|
937987ccfc | ||
|
|
1f42aca2a1 | ||
|
|
7960f7bbcf | ||
|
|
5e2dbf7416 | ||
|
|
6e69ebcc88 | ||
|
|
66b9844813 | ||
|
|
bf33ed4d2e | ||
|
|
18675a4e52 | ||
|
|
544c9d66be | ||
|
|
b0cbb2ee91 | ||
|
|
c87e692006 | ||
|
|
1fc240fc4e | ||
|
|
5ada0d4411 | ||
|
|
2dfe47eb03 | ||
|
|
95a7f0f306 | ||
|
|
7962c7e7f4 | ||
|
|
251ca3907e | ||
|
|
8bf836e16a | ||
|
|
7996c72dfc | ||
|
|
5c741e2281 | ||
|
|
951fc52b68 | ||
|
|
2e9320fae9 | ||
|
|
7fe169b484 | ||
|
|
2cd03bb1b8 | ||
|
|
b9d4c24606 | ||
|
|
d66814459a | ||
|
|
47316a6976 | ||
|
|
3b712cab95 | ||
|
|
35aa494701 | ||
|
|
7016937b2a | ||
|
|
35e84f6a6a | ||
|
|
493906ebe7 | ||
|
|
06d4c9a21e | ||
|
|
745c9818ea | ||
|
|
28f5b1bf9e | ||
|
|
7fa03a75b1 | ||
|
|
07df506d57 | ||
|
|
2276038b4d | ||
|
|
3d3f75eab6 | ||
|
|
39a5ec7a62 | ||
|
|
c8a5cc0ed4 | ||
|
|
4a05717387 | ||
|
|
5b4d807c4b | ||
|
|
0417c3f49e | ||
|
|
1e58131f67 | ||
|
|
ae27fb0bf0 | ||
|
|
835caf855b | ||
|
|
e2df2e71ce | ||
|
|
b28cb8dcb9 | ||
|
|
0979c4403b | ||
|
|
98ae337bff | ||
|
|
ad6090477f | ||
|
|
f7fd552478 | ||
|
|
8cab147fa5 | ||
|
|
1598bdb509 | ||
|
|
8eb608e3c6 | ||
|
|
8aea16cb59 | ||
|
|
1cf295ea5b | ||
|
|
8d59eb6a33 | ||
|
|
3f1e8b5be9 | ||
|
|
541cf20b85 | ||
|
|
36f12af898 | ||
|
|
e715109bcc | ||
|
|
363969cc9e | ||
|
|
266eca6265 | ||
|
|
441d6f060c | ||
|
|
058241d80b | ||
|
|
33ba2634da | ||
|
|
1c9fe2bb23 | ||
|
|
aa7fb1a2c7 | ||
|
|
7995a87f71 | ||
|
|
4678cadd72 | ||
|
|
b2645b5996 |
Generated
+90
-34
@@ -1,9 +1,30 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
|
"antigravity-nix": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1785225335,
|
||||||
|
"narHash": "sha256-xzUNPgjfG06GvFNiZq+68euMeP05xydLwSv1cuS8Gq4=",
|
||||||
|
"owner": "jacopone",
|
||||||
|
"repo": "antigravity-nix",
|
||||||
|
"rev": "ab4c80d1e6524389fb4ccc05744e9e617ef363c4",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "jacopone",
|
||||||
|
"repo": "antigravity-nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"elephant": {
|
"elephant": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"systems": "systems"
|
"systems": "systems_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770910218,
|
"lastModified": 1770910218,
|
||||||
@@ -35,6 +56,24 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"flake-utils": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1731533236,
|
||||||
|
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -42,16 +81,16 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1777851538,
|
"lastModified": 1785119570,
|
||||||
"narHash": "sha256-Gp8qwTEYNoy2yvmErVGlvLOQvrtEECCAKbonW7VJef8=",
|
"narHash": "sha256-Rgs2xKnGLFWQscxUaXX07oyZeuMDOHEbqDOsgliLFGM=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "cc09c0f9b7eaa95c2d9827338a5eb03d32505ca5",
|
"rev": "d4fd24667c8cbef124bb70a20380cab75ec8474d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"ref": "release-25.11",
|
"ref": "release-26.05",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@@ -154,11 +193,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-unstable_2": {
|
"nixpkgs-unstable_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1777954456,
|
"lastModified": 1785090369,
|
||||||
"narHash": "sha256-hGdgeU2Nk87RAuZyYjyDjFL6LK7dAZN5RE9+hrDTkDU=",
|
"narHash": "sha256-m0pDuRJG7EDo9ri+4Ksu83VsI+PlxNC9lNBfydejce4=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "549bd84d6279f9852cae6225e372cc67fb91a4c1",
|
"rev": "624af665418d3c65d544145b4d34ad696439570e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -218,27 +257,27 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
"nixpkgs_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1777673416,
|
"lastModified": 1785104993,
|
||||||
"narHash": "sha256-5c2POKPOjU40Kh0MirOdScBLG0bu9TAuPYAtPRNZMBs=",
|
"narHash": "sha256-eKbrvPoAOFutbYMdbB3r5EQVmFxKv24iKqHPPUXA0gM=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "26ef669cffa904b6f6832ab57b77892a37c1a671",
|
"rev": "8623c4c20aa4ca2f5fb81510d2944066c3fb0d96",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"ref": "nixos-25.11",
|
"ref": "nixos-26.05",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_6": {
|
"nixpkgs_6": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1775888245,
|
"lastModified": 1782175435,
|
||||||
"narHash": "sha256-nwASzrRDD1JBEu/o8ekKYEXm/oJW6EMCzCRdrwcLe90=",
|
"narHash": "sha256-EMzXKmnOtBQ2MnvpiNOm7E+kOMvdPrIKaeg52Tip2Uk=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "13043924aaa7375ce482ebe2494338e058282925",
|
"rev": "89570f24e97e614aa34aa9ab1c927b6578a43775",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -256,15 +295,16 @@
|
|||||||
"noctalia-qs": "noctalia-qs"
|
"noctalia-qs": "noctalia-qs"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1777859147,
|
"lastModified": 1783017890,
|
||||||
"narHash": "sha256-0vCgxdwrxBkHmqNgJtUMGCFwSV5a6AgYdKAgBCtFFPM=",
|
"narHash": "sha256-bAzrtN0GDMH0dOZkgeI3zSxfFs2rdD3pMuzOxvTF0bs=",
|
||||||
"owner": "noctalia-dev",
|
"owner": "noctalia-dev",
|
||||||
"repo": "noctalia-shell",
|
"repo": "noctalia-shell",
|
||||||
"rev": "6b48834dd6c3913d211476ab2f964f3fb100675e",
|
"rev": "a48885b9fec485c903c955749a7da6e30147cd38",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "noctalia-dev",
|
"owner": "noctalia-dev",
|
||||||
|
"ref": "legacy-v4",
|
||||||
"repo": "noctalia-shell",
|
"repo": "noctalia-shell",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@@ -275,15 +315,15 @@
|
|||||||
"noctalia",
|
"noctalia",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"systems": "systems_3",
|
"systems": "systems_4",
|
||||||
"treefmt-nix": "treefmt-nix"
|
"treefmt-nix": "treefmt-nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1777773024,
|
"lastModified": 1780799499,
|
||||||
"narHash": "sha256-pLU+KB84A0Jei/vTD6pOS4Ovkmq3QDfPQHg1MlKsRqM=",
|
"narHash": "sha256-YloRtLqJabzYUWvdLyh67zH4DZrR3kQj+dlQJwLPmPM=",
|
||||||
"owner": "noctalia-dev",
|
"owner": "noctalia-dev",
|
||||||
"repo": "noctalia-qs",
|
"repo": "noctalia-qs",
|
||||||
"rev": "d3e26ccd9eecde9139be00caf5dc2d4260fb31ee",
|
"rev": "f308426239665e3bc3d624014e9295b2ae2f58ff",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -294,6 +334,7 @@
|
|||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"antigravity-nix": "antigravity-nix",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nixers-repo": "nixers-repo",
|
"nixers-repo": "nixers-repo",
|
||||||
"nixpkgs": "nixpkgs_5",
|
"nixpkgs": "nixpkgs_5",
|
||||||
@@ -307,11 +348,11 @@
|
|||||||
"nixpkgs": "nixpkgs_6"
|
"nixpkgs": "nixpkgs_6"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1777944972,
|
"lastModified": 1783174389,
|
||||||
"narHash": "sha256-VfGRo1qTBKOe3s2gOv8LSoA6Fk19PvBlwQ1ECN0Evn8=",
|
"narHash": "sha256-aCWC8ngycU7OdJrU2+Je3qf+1a2ykuBvpPhZT/9tXMc=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "c591bf665727040c6cc5cb409079acb22dcce33c",
|
"rev": "f1406619a3884cd5c47992a70b8b35c9c0fcb4c9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -322,16 +363,16 @@
|
|||||||
},
|
},
|
||||||
"systems": {
|
"systems": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1689347949,
|
"lastModified": 1681028828,
|
||||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
"owner": "nix-systems",
|
"owner": "nix-systems",
|
||||||
"repo": "default-linux",
|
"repo": "default",
|
||||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-systems",
|
"owner": "nix-systems",
|
||||||
"repo": "default-linux",
|
"repo": "default",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -365,6 +406,21 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"systems_4": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1689347949,
|
||||||
|
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default-linux",
|
||||||
|
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default-linux",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"treefmt-nix": {
|
"treefmt-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -374,11 +430,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1775636079,
|
"lastModified": 1780220602,
|
||||||
"narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=",
|
"narHash": "sha256-eynAfOmbmxJnkp7YewvCEbShNnnYJ9gLLqkzsYtBPeM=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "treefmt-nix",
|
"repo": "treefmt-nix",
|
||||||
"rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba",
|
"rev": "db947814a175b7ca6ded66e21383d938df01c227",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -394,7 +450,7 @@
|
|||||||
"elephant"
|
"elephant"
|
||||||
],
|
],
|
||||||
"nixpkgs": "nixpkgs_4",
|
"nixpkgs": "nixpkgs_4",
|
||||||
"systems": "systems_2"
|
"systems": "systems_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1771062828,
|
"lastModified": 1771062828,
|
||||||
|
|||||||
@@ -9,19 +9,24 @@
|
|||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
# Nixpkgs
|
# Nixpkgs
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05";
|
||||||
# Nixpkgs-unstable
|
# Nixpkgs-unstable
|
||||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
# Nixers
|
# Nixers
|
||||||
nixers-repo.url = "github:Cian-H/Nixers";
|
nixers-repo.url = "github:Cian-H/Nixers";
|
||||||
# Home manager
|
# Home manager
|
||||||
home-manager.url = "github:nix-community/home-manager/release-25.11";
|
home-manager.url = "github:nix-community/home-manager/release-26.05";
|
||||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
# Add sops for secret management
|
# Add sops for secret management
|
||||||
sops-nix.url = "github:Mic92/sops-nix";
|
sops-nix.url = "github:Mic92/sops-nix";
|
||||||
# Add Noctalia input
|
# Add Noctalia input
|
||||||
noctalia = {
|
noctalia = {
|
||||||
url = "github:noctalia-dev/noctalia-shell";
|
url = "github:noctalia-dev/noctalia-shell/legacy-v4";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
# Antigravity, for managing busywork and chores
|
||||||
|
antigravity-nix = {
|
||||||
|
url = "github:jacopone/antigravity-nix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -31,6 +36,7 @@
|
|||||||
nixpkgs,
|
nixpkgs,
|
||||||
nixpkgs-unstable,
|
nixpkgs-unstable,
|
||||||
nixers-repo,
|
nixers-repo,
|
||||||
|
antigravity-nix,
|
||||||
home-manager,
|
home-manager,
|
||||||
...
|
...
|
||||||
} @ inputs: let
|
} @ inputs: let
|
||||||
@@ -135,7 +141,7 @@
|
|||||||
inherit inputs outputs;
|
inherit inputs outputs;
|
||||||
unstablePkgs = import nixpkgs-unstable {
|
unstablePkgs = import nixpkgs-unstable {
|
||||||
# We also need to do the same for unstable
|
# We also need to do the same for unstable
|
||||||
system = pkgs.stdenv.hostPlatform.system;
|
inherit (pkgs.stdenv.hostPlatform) system;
|
||||||
config = {
|
config = {
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
allowUnfreePredicate = _: true;
|
allowUnfreePredicate = _: true;
|
||||||
@@ -170,8 +176,9 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
nixers = inputs.nixers-repo.packages.${pkgs.stdenv.hostPlatform.system};
|
nixers = inputs.nixers-repo.packages.${pkgs.stdenv.hostPlatform.system};
|
||||||
|
antigravityPkgs = antigravity-nix.packages.${pkgs.stdenv.hostPlatform.system};
|
||||||
in {
|
in {
|
||||||
inherit inputs outputs unstablePkgs nixers;
|
inherit inputs outputs unstablePkgs nixers antigravityPkgs;
|
||||||
theme = worklaptopTheme {inherit pkgs unstablePkgs nixers;};
|
theme = worklaptopTheme {inherit pkgs unstablePkgs nixers;};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Submodule home-manager/core/dotfiles updated: 104c290cab...2322e815d4
@@ -51,6 +51,11 @@ in {
|
|||||||
target = ".config/nushell/my_config";
|
target = ".config/nushell/my_config";
|
||||||
recursive = true;
|
recursive = true;
|
||||||
};
|
};
|
||||||
|
"atuin" = {
|
||||||
|
source = ./dotfiles/dot_config/atuin;
|
||||||
|
target = ".config/atuin";
|
||||||
|
recursive = true;
|
||||||
|
};
|
||||||
"fish" = {
|
"fish" = {
|
||||||
source = ./dotfiles/dot_config/fish;
|
source = ./dotfiles/dot_config/fish;
|
||||||
target = ".config/fish";
|
target = ".config/fish";
|
||||||
@@ -64,7 +69,7 @@ in {
|
|||||||
in
|
in
|
||||||
! (
|
! (
|
||||||
(lib.hasPrefix "*/nvim/*" name)
|
(lib.hasPrefix "*/nvim/*" name)
|
||||||
|| (lib.hasPrefix "." baseName)
|
|| ((lib.hasPrefix "." baseName) && (baseName != ".hotpot.fnl"))
|
||||||
|| (lib.hasPrefix "devenv" baseName)
|
|| (lib.hasPrefix "devenv" baseName)
|
||||||
|| (lib.hasSuffix ".toml" baseName)
|
|| (lib.hasSuffix ".toml" baseName)
|
||||||
|| (lib.hasSuffix ".yml" baseName)
|
|| (lib.hasSuffix ".yml" baseName)
|
||||||
@@ -73,6 +78,38 @@ in {
|
|||||||
target = ".config/nvim";
|
target = ".config/nvim";
|
||||||
recursive = true;
|
recursive = true;
|
||||||
};
|
};
|
||||||
|
"helix" = {
|
||||||
|
source = lib.cleanSourceWith {
|
||||||
|
src = ./dotfiles/dot_config/helix;
|
||||||
|
filter = name: type: let
|
||||||
|
baseName = baseNameOf name;
|
||||||
|
in
|
||||||
|
! (
|
||||||
|
(lib.hasPrefix "*/helix/*" name)
|
||||||
|
|| (lib.hasPrefix "." baseName)
|
||||||
|
|| (lib.hasPrefix "devenv" baseName)
|
||||||
|
);
|
||||||
|
};
|
||||||
|
target = ".config/helix";
|
||||||
|
recursive = true;
|
||||||
|
};
|
||||||
|
"emacs" = {
|
||||||
|
source = lib.cleanSourceWith {
|
||||||
|
src = ./dotfiles/dot_config/emacs;
|
||||||
|
filter = name: type: let
|
||||||
|
baseName = baseNameOf name;
|
||||||
|
in
|
||||||
|
! (
|
||||||
|
(lib.hasPrefix "*/emacs/*" name)
|
||||||
|
|| (lib.hasPrefix "." baseName)
|
||||||
|
|| (lib.hasPrefix "devenv" baseName)
|
||||||
|
|| (lib.hasSuffix ".toml" baseName)
|
||||||
|
|| (lib.hasSuffix ".yml" baseName)
|
||||||
|
);
|
||||||
|
};
|
||||||
|
target = ".config/emacs";
|
||||||
|
recursive = true;
|
||||||
|
};
|
||||||
"noctalia" = {
|
"noctalia" = {
|
||||||
source = lib.cleanSourceWith {
|
source = lib.cleanSourceWith {
|
||||||
src = ./dotfiles/dot_config/noctalia;
|
src = ./dotfiles/dot_config/noctalia;
|
||||||
@@ -103,11 +140,6 @@ in {
|
|||||||
source = ./dotfiles/dot_config/Thunar;
|
source = ./dotfiles/dot_config/Thunar;
|
||||||
target = ".config/Thunar";
|
target = ".config/Thunar";
|
||||||
};
|
};
|
||||||
"rye" = {
|
|
||||||
source = ./dotfiles/dot_config/.rye;
|
|
||||||
target = ".config/.rye";
|
|
||||||
recursive = true;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
// noctaliaPluginFiles
|
// noctaliaPluginFiles
|
||||||
// customPluginFiles;
|
// customPluginFiles;
|
||||||
@@ -122,7 +154,6 @@ in {
|
|||||||
"bat".source = ./dotfiles/dot_config/bat;
|
"bat".source = ./dotfiles/dot_config/bat;
|
||||||
"path.env".source = ./dotfiles/dot_config/path.env;
|
"path.env".source = ./dotfiles/dot_config/path.env;
|
||||||
"fastfetch".source = ./dotfiles/dot_config/fastfetch;
|
"fastfetch".source = ./dotfiles/dot_config/fastfetch;
|
||||||
"helix".source = ./dotfiles/dot_config/helix;
|
|
||||||
"home-manager".source = ./dotfiles/dot_config/home-manager;
|
"home-manager".source = ./dotfiles/dot_config/home-manager;
|
||||||
"hypr".source = ./dotfiles/dot_config/hypr;
|
"hypr".source = ./dotfiles/dot_config/hypr;
|
||||||
"just".source = ./dotfiles/dot_config/just;
|
"just".source = ./dotfiles/dot_config/just;
|
||||||
|
|||||||
@@ -12,6 +12,7 @@
|
|||||||
pkgs.git-extras
|
pkgs.git-extras
|
||||||
pkgs.git-credential-manager
|
pkgs.git-credential-manager
|
||||||
pkgs.meld
|
pkgs.meld
|
||||||
|
pkgs.statix
|
||||||
pkgs.unzip
|
pkgs.unzip
|
||||||
unstablePkgs.devenv
|
unstablePkgs.devenv
|
||||||
unstablePkgs.lazygit
|
unstablePkgs.lazygit
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
package = unstablePkgs.yazi;
|
package = unstablePkgs.yazi;
|
||||||
enableNushellIntegration = true;
|
enableNushellIntegration = true;
|
||||||
|
shellWrapperName = "y";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Manually place plugins for now, until home-manager updates for newer yazi versions
|
# Manually place plugins for now, until home-manager updates for newer yazi versions
|
||||||
@@ -19,16 +20,16 @@
|
|||||||
"yazi/theme.toml".source = ../dotfiles/dot_config/yazi/theme.toml;
|
"yazi/theme.toml".source = ../dotfiles/dot_config/yazi/theme.toml;
|
||||||
"yazi/yazi.toml".source = ../dotfiles/dot_config/yazi/yazi.toml;
|
"yazi/yazi.toml".source = ../dotfiles/dot_config/yazi/yazi.toml;
|
||||||
"yazi/plugins/chmod.yazi".source = ../dotfiles/dot_config/yazi/plugins/core/chmod.yazi;
|
"yazi/plugins/chmod.yazi".source = ../dotfiles/dot_config/yazi/plugins/core/chmod.yazi;
|
||||||
|
"yazi/plugins/clipboard.yazi".source = ../dotfiles/dot_config/yazi/plugins/clipboard.yazi;
|
||||||
"yazi/plugins/full-border.yazi".source = ../dotfiles/dot_config/yazi/plugins/core/full-border.yazi;
|
"yazi/plugins/full-border.yazi".source = ../dotfiles/dot_config/yazi/plugins/core/full-border.yazi;
|
||||||
"yazi/plugins/git.yazi".source = ../dotfiles/dot_config/yazi/plugins/core/git.yazi;
|
"yazi/plugins/git.yazi".source = ../dotfiles/dot_config/yazi/plugins/core/git.yazi;
|
||||||
"yazi/plugins/hexyl.yazi".source = ../dotfiles/dot_config/yazi/plugins/hexyl.yazi;
|
|
||||||
"yazi/plugins/max-preview.yazi".source = ../dotfiles/dot_config/yazi/plugins/max-preview.yazi;
|
"yazi/plugins/max-preview.yazi".source = ../dotfiles/dot_config/yazi/plugins/max-preview.yazi;
|
||||||
"yazi/plugins/mime-ext.yazi".source = ../dotfiles/dot_config/yazi/plugins/core/mime-ext.yazi;
|
"yazi/plugins/mime-ext.yazi".source = ../dotfiles/dot_config/yazi/plugins/core/mime-ext.yazi;
|
||||||
"yazi/plugins/ouch.yazi".source = ../dotfiles/dot_config/yazi/plugins/ouch.yazi;
|
"yazi/plugins/ouch.yazi".source = ../dotfiles/dot_config/yazi/plugins/ouch.yazi;
|
||||||
|
"yazi/plugins/piper.yazi".source = ../dotfiles/dot_config/yazi/plugins/yazi-rs-plugins/piper.yazi;
|
||||||
"yazi/plugins/rich-preview.yazi".source = ../dotfiles/dot_config/yazi/plugins/rich-preview.yazi;
|
"yazi/plugins/rich-preview.yazi".source = ../dotfiles/dot_config/yazi/plugins/rich-preview.yazi;
|
||||||
"yazi/plugins/starship.yazi".source = ../dotfiles/dot_config/yazi/plugins/starship.yazi;
|
"yazi/plugins/starship.yazi".source = ../dotfiles/dot_config/yazi/plugins/starship.yazi;
|
||||||
"yazi/plugins/sudo.yazi".source = ../dotfiles/dot_config/yazi/plugins/sudo.yazi;
|
"yazi/plugins/sudo.yazi".source = ../dotfiles/dot_config/yazi/plugins/sudo.yazi;
|
||||||
"yazi/plugins/wl-clipboard.yazi".source = ../dotfiles/dot_config/yazi/plugins/wl-clipboard.yazi;
|
|
||||||
"yazi/flavors/tokyo-night.yazi".source = ../dotfiles/dot_config/yazi/flavors/tokyo-night.yazi;
|
"yazi/flavors/tokyo-night.yazi".source = ../dotfiles/dot_config/yazi/flavors/tokyo-night.yazi;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
./containers/media.nix
|
./containers/media.nix
|
||||||
# ./containers/metrics.nix
|
./containers/metrics.nix
|
||||||
./containers/caddy.nix
|
./containers/caddy.nix
|
||||||
./containers/work_tools.nix
|
./containers/work_tools.nix
|
||||||
./containers/nextcloud.nix
|
./containers/nextcloud.nix
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
];
|
];
|
||||||
volumes = [
|
volumes = [
|
||||||
"/home/cianh/caddy/config:/etc/caddy"
|
"/home/cianh/caddy/config:/etc/caddy"
|
||||||
|
"${./caddy/Caddyfile.persistent}:/etc/caddy/Caddyfile.persistent:ro"
|
||||||
"/home/cianh/caddy/data:/data:Z"
|
"/home/cianh/caddy/data:/data:Z"
|
||||||
"/home/cianh/caddy/logs:/var/log/caddy"
|
"/home/cianh/caddy/logs:/var/log/caddy"
|
||||||
"/home/cianh/caddy/placeholder_site:/var/www/site:Z"
|
"/home/cianh/caddy/placeholder_site:/var/www/site:Z"
|
||||||
|
|||||||
@@ -0,0 +1,125 @@
|
|||||||
|
(web_analytics) {
|
||||||
|
log {
|
||||||
|
output file /var/log/caddy/access.log
|
||||||
|
format json
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
(security_headers) {
|
||||||
|
header {
|
||||||
|
X-Content-Type-Options "nosniff"
|
||||||
|
X-Frame-Options "SAMEORIGIN"
|
||||||
|
Referrer-Policy "no-referrer"
|
||||||
|
Strict-Transport-Security "max-age=15552000; includeSubDomains; preload"
|
||||||
|
X-XSS-Protection "1; mode=block"
|
||||||
|
X-Permitted-Cross-Domain-Policies "none"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bulba.space {
|
||||||
|
root * /var/www/site
|
||||||
|
file_server
|
||||||
|
import web_analytics
|
||||||
|
import security_headers
|
||||||
|
}
|
||||||
|
|
||||||
|
freshrss.bulba.space {
|
||||||
|
reverse_proxy freshrss:80
|
||||||
|
import web_analytics
|
||||||
|
import security_headers
|
||||||
|
}
|
||||||
|
|
||||||
|
vikunja.bulba.space {
|
||||||
|
reverse_proxy vikunja:3456
|
||||||
|
import web_analytics
|
||||||
|
import security_headers
|
||||||
|
}
|
||||||
|
|
||||||
|
blog.bulba.space {
|
||||||
|
root * /var/www/blog
|
||||||
|
file_server
|
||||||
|
import web_analytics
|
||||||
|
import security_headers
|
||||||
|
}
|
||||||
|
|
||||||
|
gitea.bulba.space {
|
||||||
|
reverse_proxy gitea:3000
|
||||||
|
import web_analytics
|
||||||
|
import security_headers
|
||||||
|
}
|
||||||
|
|
||||||
|
jellyfin.bulba.space {
|
||||||
|
reverse_proxy jellyfin:8096
|
||||||
|
import web_analytics
|
||||||
|
import security_headers
|
||||||
|
}
|
||||||
|
|
||||||
|
nextcloud.bulba.space {
|
||||||
|
header {
|
||||||
|
X-Robots-Tag "noindex, nofollow"
|
||||||
|
}
|
||||||
|
|
||||||
|
request_body {
|
||||||
|
max_size 5GB
|
||||||
|
}
|
||||||
|
|
||||||
|
root * /var/www/nextcloud/
|
||||||
|
file_server
|
||||||
|
php_fastcgi nextcloud:9000 {
|
||||||
|
root /var/www/html/
|
||||||
|
|
||||||
|
# This is required to inform Nextcloud that it shouldn't be setting
|
||||||
|
# headers itself. That's the job of the reverse proxy
|
||||||
|
env modHeadersAvailable true
|
||||||
|
}
|
||||||
|
|
||||||
|
redir /.well-known/carddav /remote.php/dav 301 permanent
|
||||||
|
redir /.well-known/caldav /remote.php/dav 301 permanent
|
||||||
|
|
||||||
|
@forbidden {
|
||||||
|
path /.htaccess
|
||||||
|
path /data/*
|
||||||
|
path /config/*
|
||||||
|
path /db_structure
|
||||||
|
path /.xml
|
||||||
|
path /README
|
||||||
|
path /3rdparty/*
|
||||||
|
path /lib/*
|
||||||
|
path /templates/*
|
||||||
|
path /occ
|
||||||
|
path /console.php
|
||||||
|
}
|
||||||
|
respond @forbidden "Access Denied" 403 {
|
||||||
|
close
|
||||||
|
}
|
||||||
|
import web_analytics
|
||||||
|
import security_headers
|
||||||
|
}
|
||||||
|
|
||||||
|
metrics.bulba.space {
|
||||||
|
import security_headers
|
||||||
|
import web_analytics
|
||||||
|
basic_auth {
|
||||||
|
admin $2a$14$/pMYYzIlniwZgFO7IvNCveax0OXzRpzROnE5krjtiZi5OhECQwpNi
|
||||||
|
}
|
||||||
|
|
||||||
|
handle /ws* {
|
||||||
|
reverse_proxy goaccess:7890
|
||||||
|
}
|
||||||
|
|
||||||
|
handle {
|
||||||
|
root * /var/www/goaccess
|
||||||
|
file_server
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
collabora.bulba.space {
|
||||||
|
reverse_proxy https://nextcloud-collabora:9980 {
|
||||||
|
transport http {
|
||||||
|
tls
|
||||||
|
tls_insecure_skip_verify
|
||||||
|
}
|
||||||
|
}
|
||||||
|
import web_analytics
|
||||||
|
import security_headers
|
||||||
|
}
|
||||||
@@ -20,6 +20,7 @@
|
|||||||
"/home/cianh/TV_Archive/jf_cache:/cache:Z"
|
"/home/cianh/TV_Archive/jf_cache:/cache:Z"
|
||||||
];
|
];
|
||||||
userNS = "keep-id";
|
userNS = "keep-id";
|
||||||
|
devices = [ "/dev/dri:/dev/dri" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
containers = {
|
containers = {
|
||||||
goaccess = {
|
goaccess = {
|
||||||
image = "docker.io/allinurl/goaccess:latest";
|
image = "docker.io/allinurl/goaccess:latest";
|
||||||
exec = "--output=/var/www/goaccess/index.html --log-file=/var/log/caddy/access.log --log-format=CADDY --tz=Europe/Dublin --anonymize-ip --real-time-html --ws-url=wss://metrics.bulba.space:443/ws --port=7890 --origin=metrics.bulba.space";
|
exec = "--output=/var/www/goaccess/index.html --log-file=/var/log/caddy/access.log --log-format=CADDY --tz=Europe/Dublin --anonymize-ip --real-time-html --ws-url=wss://metrics.bulba.space:443/ws --port=7890 --origin=https://metrics.bulba.space";
|
||||||
autoUpdate = "registry";
|
autoUpdate = "registry";
|
||||||
network = [
|
network = [
|
||||||
"proxy-net"
|
"proxy-net"
|
||||||
@@ -20,6 +20,13 @@
|
|||||||
"/home/cianh/caddy/logs:/var/log/caddy:Z"
|
"/home/cianh/caddy/logs:/var/log/caddy:Z"
|
||||||
"/home/cianh/goaccess/site:/var/www/goaccess"
|
"/home/cianh/goaccess/site:/var/www/goaccess"
|
||||||
];
|
];
|
||||||
|
extraConfig = {
|
||||||
|
Unit = {
|
||||||
|
After = "podman-caddy.service";
|
||||||
|
Requires = "podman-caddy.service";
|
||||||
|
PartOf = "podman-caddy.service";
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -27,14 +27,15 @@
|
|||||||
MYSQL_DATABASE = "nextcloud";
|
MYSQL_DATABASE = "nextcloud";
|
||||||
MYSQL_USER = "nextcloud";
|
MYSQL_USER = "nextcloud";
|
||||||
MYSQL_PASSWORD = config.sops.secrets.nextcloud-db_password.path;
|
MYSQL_PASSWORD = config.sops.secrets.nextcloud-db_password.path;
|
||||||
|
REDIS_HOST = "nextcloud-redis";
|
||||||
};
|
};
|
||||||
volumes = [
|
volumes = [
|
||||||
"/home/cianh/Nextcloud/:/var/www/html"
|
"/home/cianh/Nextcloud/:/var/www/html"
|
||||||
];
|
];
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
Unit = {
|
Unit = {
|
||||||
After = "podman-nextcloud-db.service";
|
After = [ "podman-nextcloud-db.service" "podman-nextcloud-redis.service" ];
|
||||||
Requires = "podman-nextcloud-db.service";
|
Requires = [ "podman-nextcloud-db.service" "podman-nextcloud-redis.service" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -52,6 +53,11 @@
|
|||||||
"/home/cianh/nextcloud_db:/var/lib/mysql"
|
"/home/cianh/nextcloud_db:/var/lib/mysql"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
nextcloud-redis = {
|
||||||
|
image = "docker.io/library/redis:alpine";
|
||||||
|
autoUpdate = "registry";
|
||||||
|
network = ["nextcloud-net"];
|
||||||
|
};
|
||||||
nextcloud-collabora = {
|
nextcloud-collabora = {
|
||||||
image = "docker.io/collabora/code:latest";
|
image = "docker.io/collabora/code:latest";
|
||||||
autoUpdate = "registry";
|
autoUpdate = "registry";
|
||||||
@@ -59,9 +65,6 @@
|
|||||||
"nextcloud-net"
|
"nextcloud-net"
|
||||||
"proxy-net"
|
"proxy-net"
|
||||||
];
|
];
|
||||||
ports = [
|
|
||||||
"9980:9980"
|
|
||||||
];
|
|
||||||
environment = {
|
environment = {
|
||||||
username = "admin";
|
username = "admin";
|
||||||
password = config.sops.secrets.nextcloud-collabora_password.path;
|
password = config.sops.secrets.nextcloud-collabora_password.path;
|
||||||
@@ -72,4 +75,30 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
systemd.user.services.nextcloud-cron = {
|
||||||
|
Unit = {
|
||||||
|
Description = "Nextcloud cron.php job";
|
||||||
|
Requires = [ "podman-nextcloud.service" ];
|
||||||
|
After = [ "podman-nextcloud.service" ];
|
||||||
|
};
|
||||||
|
Service = {
|
||||||
|
Type = "oneshot";
|
||||||
|
ExecStart = "${pkgs.podman}/bin/podman exec --user www-data nextcloud php -f /var/www/html/cron.php";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.user.timers.nextcloud-cron = {
|
||||||
|
Unit = {
|
||||||
|
Description = "Run Nextcloud cron.php every 5 minutes";
|
||||||
|
};
|
||||||
|
Timer = {
|
||||||
|
OnBootSec = "5m";
|
||||||
|
OnUnitActiveSec = "5m";
|
||||||
|
Unit = "nextcloud-cron.service";
|
||||||
|
};
|
||||||
|
Install = {
|
||||||
|
WantedBy = [ "timers.target" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -71,7 +71,6 @@
|
|||||||
"/home/cianh/freshrss/data:/var/www/FreshRSS/data"
|
"/home/cianh/freshrss/data:/var/www/FreshRSS/data"
|
||||||
"/home/cianh/freshrss/extensions:/var/www/FreshRSS/extensions"
|
"/home/cianh/freshrss/extensions:/var/www/FreshRSS/extensions"
|
||||||
];
|
];
|
||||||
ports = ["3457:80"];
|
|
||||||
extraPodmanArgs = [
|
extraPodmanArgs = [
|
||||||
"--log-opt max-size=10m"
|
"--log-opt max-size=10m"
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -7,13 +7,50 @@
|
|||||||
unstablePkgs,
|
unstablePkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
xdg.mimeApps.defaultApplications = {
|
xdg.mimeApps = {
|
||||||
"inode/directory" = "thunar.desktop";
|
enable = true;
|
||||||
"application/zip" = "xarchiver.desktop";
|
defaultApplications = {
|
||||||
"text/html" = "zen.desktop";
|
# Directories and Archives
|
||||||
"x-scheme-handler/http" = "zen.desktop";
|
"inode/directory" = "thunar.desktop";
|
||||||
"x-scheme-handler/https" = "zen.desktop";
|
"application/zip" = "xarchiver.desktop";
|
||||||
"x-scheme-handler/about" = "zen.desktop";
|
|
||||||
"x-scheme-handler/unknown" = "zen.desktop";
|
# PDFs
|
||||||
|
"application/pdf" = "sioyek.desktop";
|
||||||
|
|
||||||
|
# Web Browser (Vivaldi)
|
||||||
|
"text/html" = "vivaldi-stable.desktop";
|
||||||
|
"x-scheme-handler/http" = "vivaldi-stable.desktop";
|
||||||
|
"x-scheme-handler/https" = "vivaldi-stable.desktop";
|
||||||
|
"x-scheme-handler/about" = "vivaldi-stable.desktop";
|
||||||
|
"x-scheme-handler/unknown" = "vivaldi-stable.desktop";
|
||||||
|
|
||||||
|
# Text and Code (Neovide)
|
||||||
|
"text/plain" = "neovide.desktop";
|
||||||
|
"text/markdown" = "neovide.desktop";
|
||||||
|
|
||||||
|
# TeX and LaTeX (TeXstudio)
|
||||||
|
"text/x-tex" = "texstudio.desktop";
|
||||||
|
"text/x-latex" = "texstudio.desktop";
|
||||||
|
|
||||||
|
# Images (imv)
|
||||||
|
"image/jpeg" = "imv.desktop";
|
||||||
|
"image/png" = "imv.desktop";
|
||||||
|
"image/gif" = "imv.desktop";
|
||||||
|
"image/webp" = "imv.desktop";
|
||||||
|
"image/svg+xml" = "imv.desktop";
|
||||||
|
"image/tiff" = "imv.desktop";
|
||||||
|
"image/bmp" = "imv.desktop";
|
||||||
|
|
||||||
|
# Office Files (OnlyOffice)
|
||||||
|
"application/vnd.openxmlformats-officedocument.wordprocessingml.document" = "onlyoffice-desktopeditors.desktop"; # .docx
|
||||||
|
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" = "onlyoffice-desktopeditors.desktop"; # .xlsx
|
||||||
|
"application/vnd.openxmlformats-officedocument.presentationml.presentation" = "onlyoffice-desktopeditors.desktop"; # .pptx
|
||||||
|
"application/msword" = "onlyoffice-desktopeditors.desktop"; # .doc
|
||||||
|
"application/vnd.ms-excel" = "onlyoffice-desktopeditors.desktop"; # .xls
|
||||||
|
"application/vnd.ms-powerpoint" = "onlyoffice-desktopeditors.desktop"; # .ppt
|
||||||
|
"application/vnd.oasis.opendocument.text" = "onlyoffice-desktopeditors.desktop"; # .odt
|
||||||
|
"application/vnd.oasis.opendocument.spreadsheet" = "onlyoffice-desktopeditors.desktop"; # .ods
|
||||||
|
"application/vnd.oasis.opendocument.presentation" = "onlyoffice-desktopeditors.desktop"; # .odp
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,37 +6,50 @@
|
|||||||
pkgs,
|
pkgs,
|
||||||
unstablePkgs,
|
unstablePkgs,
|
||||||
nixers,
|
nixers,
|
||||||
|
antigravityPkgs,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
|
patchedQuarto = pkgs.quarto.overrideAttrs (oldAttrs: {
|
||||||
|
postPatch =
|
||||||
|
(oldAttrs.postPatch or "")
|
||||||
|
+ ''
|
||||||
|
substituteInPlace bin/quarto.js \
|
||||||
|
--replace-fail "syntax-highlighting" "highlight-style"
|
||||||
|
'';
|
||||||
|
});
|
||||||
in {
|
in {
|
||||||
home.packages = [
|
home.packages = [
|
||||||
pkgs.bitwarden-desktop
|
|
||||||
pkgs.babashka
|
pkgs.babashka
|
||||||
pkgs.bat-extras.batman
|
unstablePkgs.bat-extras.batman
|
||||||
pkgs.bat-extras.batdiff
|
unstablePkgs.bat-extras.batdiff
|
||||||
pkgs.bat-extras.batgrep
|
unstablePkgs.bat-extras.batgrep
|
||||||
pkgs.bat-extras.prettybat
|
unstablePkgs.bat-extras.prettybat
|
||||||
|
unstablePkgs.blender
|
||||||
pkgs.broot
|
pkgs.broot
|
||||||
pkgs.clapper
|
pkgs.clapper
|
||||||
pkgs.cliphist
|
pkgs.cliphist
|
||||||
pkgs.distrobox
|
pkgs.distrobox
|
||||||
pkgs.dvc
|
pkgs.dvc
|
||||||
pkgs.feh
|
pkgs.feh
|
||||||
|
unstablePkgs.gimp-with-plugins
|
||||||
pkgs.git-lfs
|
pkgs.git-lfs
|
||||||
pkgs.go
|
pkgs.go
|
||||||
unstablePkgs.gurk-rs
|
unstablePkgs.gurk-rs
|
||||||
pkgs.has
|
pkgs.has
|
||||||
pkgs.hyperfine
|
pkgs.hyperfine
|
||||||
pkgs.imagemagick
|
pkgs.imagemagick
|
||||||
|
pkgs.imv
|
||||||
|
unstablePkgs.inkscape
|
||||||
pkgs.jujutsu
|
pkgs.jujutsu
|
||||||
|
unstablePkgs.krita
|
||||||
pkgs.kubectl
|
pkgs.kubectl
|
||||||
pkgs.lnav
|
pkgs.lnav
|
||||||
pkgs.lynx
|
pkgs.lynx
|
||||||
pkgs.minikube
|
pkgs.minikube
|
||||||
unstablePkgs.mission-center
|
unstablePkgs.mission-center
|
||||||
pkgs.neovide
|
pkgs.neovide
|
||||||
|
unstablePkgs.nil
|
||||||
pkgs.nix-tree
|
pkgs.nix-tree
|
||||||
pkgs.nh
|
|
||||||
pkgs.nodejs_24
|
pkgs.nodejs_24
|
||||||
pkgs.nwg-look
|
pkgs.nwg-look
|
||||||
unstablePkgs.obsidian
|
unstablePkgs.obsidian
|
||||||
@@ -46,13 +59,20 @@ in {
|
|||||||
unstablePkgs.podman-compose
|
unstablePkgs.podman-compose
|
||||||
unstablePkgs.podman-desktop
|
unstablePkgs.podman-desktop
|
||||||
unstablePkgs.podman-tui
|
unstablePkgs.podman-tui
|
||||||
|
pkgs.poppler
|
||||||
pkgs.popsicle
|
pkgs.popsicle
|
||||||
nixers.python-env
|
nixers.python-env
|
||||||
|
patchedQuarto
|
||||||
nixers.rbw-autofill
|
nixers.rbw-autofill
|
||||||
unstablePkgs.ruff
|
unstablePkgs.ruff
|
||||||
pkgs.signal-desktop
|
unstablePkgs.signal-desktop
|
||||||
|
pkgs.sioyek
|
||||||
unstablePkgs.sone
|
unstablePkgs.sone
|
||||||
pkgs.sshs
|
pkgs.sshs
|
||||||
|
pkgs.texliveFull
|
||||||
|
pkgs.texstudio
|
||||||
|
unstablePkgs.ty
|
||||||
|
unstablePkgs.typst
|
||||||
unstablePkgs.uv
|
unstablePkgs.uv
|
||||||
pkgs.vial
|
pkgs.vial
|
||||||
nixers.vivaldi-wayland
|
nixers.vivaldi-wayland
|
||||||
@@ -63,7 +83,6 @@ in {
|
|||||||
pkgs.xarchiver
|
pkgs.xarchiver
|
||||||
pkgs.yubikey-agent
|
pkgs.yubikey-agent
|
||||||
pkgs.yubikey-manager
|
pkgs.yubikey-manager
|
||||||
pkgs.zathura
|
|
||||||
pkgs.zeal
|
pkgs.zeal
|
||||||
unstablePkgs.zed-editor
|
unstablePkgs.zed-editor
|
||||||
unstablePkgs.zotero
|
unstablePkgs.zotero
|
||||||
@@ -79,5 +98,9 @@ in {
|
|||||||
pkgs.steam-run
|
pkgs.steam-run
|
||||||
pkgs.tree-sitter
|
pkgs.tree-sitter
|
||||||
unstablePkgs.vimPlugins.mason-lspconfig-nvim
|
unstablePkgs.vimPlugins.mason-lspconfig-nvim
|
||||||
|
# LLM Agentic DE
|
||||||
|
antigravityPkgs.google-antigravity-no-fhs
|
||||||
|
antigravityPkgs.google-antigravity-ide-no-fhs
|
||||||
|
antigravityPkgs.google-antigravity-cli
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,8 +15,8 @@
|
|||||||
Unit = {
|
Unit = {
|
||||||
Description = "Ghostty Terminal Emulator";
|
Description = "Ghostty Terminal Emulator";
|
||||||
X-SwitchMethod = "keep-old";
|
X-SwitchMethod = "keep-old";
|
||||||
|
X-RestartIfChanged = false;
|
||||||
After = ["graphical-session.target"];
|
After = ["graphical-session.target"];
|
||||||
PartOf = ["graphical-session.target"];
|
|
||||||
};
|
};
|
||||||
Service = {
|
Service = {
|
||||||
ExecStart = "${lib.getExe config.programs.ghostty.package}";
|
ExecStart = "${lib.getExe config.programs.ghostty.package}";
|
||||||
|
|||||||
@@ -12,16 +12,16 @@
|
|||||||
gtk = {
|
gtk = {
|
||||||
enable = true;
|
enable = true;
|
||||||
iconTheme = {
|
iconTheme = {
|
||||||
name = theme.iconTheme.name;
|
inherit (theme.iconTheme) name;
|
||||||
package = theme.iconTheme.package;
|
inherit (theme.iconTheme) package;
|
||||||
};
|
};
|
||||||
theme = {
|
theme = {
|
||||||
name = theme.gtkTheme.name;
|
inherit (theme.gtkTheme) name;
|
||||||
package = theme.gtkTheme.package;
|
inherit (theme.gtkTheme) package;
|
||||||
};
|
};
|
||||||
cursorTheme = {
|
cursorTheme = {
|
||||||
name = theme.cursorTheme.name;
|
inherit (theme.cursorTheme) name;
|
||||||
package = theme.cursorTheme.package;
|
inherit (theme.cursorTheme) package;
|
||||||
};
|
};
|
||||||
gtk2.extraConfig = ''
|
gtk2.extraConfig = ''
|
||||||
gtk-theme-name="Tokyonight-Dark"
|
gtk-theme-name="Tokyonight-Dark"
|
||||||
@@ -33,10 +33,13 @@
|
|||||||
gtk-application-prefer-dark-theme=1
|
gtk-application-prefer-dark-theme=1
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
gtk4.extraConfig = {
|
gtk4 = {
|
||||||
Settings = ''
|
inherit (config.gtk) theme;
|
||||||
gtk-application-prefer-dark-theme=1
|
extraConfig = {
|
||||||
'';
|
Settings = ''
|
||||||
|
gtk-application-prefer-dark-theme=1
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -39,6 +39,20 @@ commit-lock:
|
|||||||
|
|
||||||
# Sync git and update flake inputs (override with git=false or flake=false)
|
# Sync git and update flake inputs (override with git=false or flake=false)
|
||||||
prebuild:
|
prebuild:
|
||||||
|
@if [ -n "$(git ls-files --others --exclude-standard)" ]; then \
|
||||||
|
echo "⚠️ WARNING: You have untracked files in your repository."; \
|
||||||
|
echo "Nix flakes cannot see untracked files. They will not be included in this build."; \
|
||||||
|
echo "The untracked files are:"; \
|
||||||
|
git ls-files --others --exclude-standard; \
|
||||||
|
echo ""; \
|
||||||
|
read -p "Do you want to run 'git add -A' before building? (y/N) " choice; \
|
||||||
|
if [[ "$choice" == [Yy]* ]]; then \
|
||||||
|
echo ">> Staging files..."; \
|
||||||
|
git add -A; \
|
||||||
|
else \
|
||||||
|
echo ">> Proceeding without staging. Untracked files will be ignored by Nix."; \
|
||||||
|
fi; \
|
||||||
|
fi
|
||||||
@if [ "{{git}}" == "true" ]; then \
|
@if [ "{{git}}" == "true" ]; then \
|
||||||
echo ">> Syncing Git..."; \
|
echo ">> Syncing Git..."; \
|
||||||
just _git-sync; \
|
just _git-sync; \
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
}: {
|
}: {
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
pkgs.atuin
|
pkgs.atuin
|
||||||
pkgs.bat
|
unstablePkgs.bat
|
||||||
pkgs.bottom
|
pkgs.bottom
|
||||||
pkgs.delta
|
pkgs.delta
|
||||||
pkgs.dust
|
pkgs.dust
|
||||||
@@ -21,6 +21,7 @@
|
|||||||
pkgs.git
|
pkgs.git
|
||||||
pkgs.git-extras
|
pkgs.git-extras
|
||||||
pkgs.git-filter-repo
|
pkgs.git-filter-repo
|
||||||
|
pkgs.git-lfs
|
||||||
pkgs.glab
|
pkgs.glab
|
||||||
pkgs.glow
|
pkgs.glow
|
||||||
pkgs.gnupg
|
pkgs.gnupg
|
||||||
@@ -28,6 +29,7 @@
|
|||||||
pkgs.hexyl
|
pkgs.hexyl
|
||||||
pkgs.killall
|
pkgs.killall
|
||||||
pkgs.libsecret
|
pkgs.libsecret
|
||||||
|
pkgs.luaPackages.fennel
|
||||||
pkgs.micro
|
pkgs.micro
|
||||||
pkgs.netcat-gnu
|
pkgs.netcat-gnu
|
||||||
pkgs.nix-index
|
pkgs.nix-index
|
||||||
@@ -42,6 +44,7 @@
|
|||||||
pkgs.rm-improved
|
pkgs.rm-improved
|
||||||
pkgs.starship
|
pkgs.starship
|
||||||
pkgs.tealdeer
|
pkgs.tealdeer
|
||||||
|
pkgs.tree-sitter
|
||||||
pkgs.wget
|
pkgs.wget
|
||||||
pkgs.wl-clipboard
|
pkgs.wl-clipboard
|
||||||
pkgs.wtype
|
pkgs.wtype
|
||||||
|
|||||||
@@ -50,11 +50,6 @@
|
|||||||
nix = {
|
nix = {
|
||||||
registry = (lib.mapAttrs (_: flake: {inherit flake;})) ((lib.filterAttrs (_: lib.isType "flake")) inputs);
|
registry = (lib.mapAttrs (_: flake: {inherit flake;})) ((lib.filterAttrs (_: lib.isType "flake")) inputs);
|
||||||
nixPath = ["nixpkgs=${inputs.nixpkgs}"];
|
nixPath = ["nixpkgs=${inputs.nixpkgs}"];
|
||||||
gc = {
|
|
||||||
automatic = true;
|
|
||||||
dates = "daily";
|
|
||||||
options = "--delete-older-than 14d";
|
|
||||||
};
|
|
||||||
settings = {
|
settings = {
|
||||||
experimental-features = "nix-command flakes";
|
experimental-features = "nix-command flakes";
|
||||||
auto-optimise-store = true;
|
auto-optimise-store = true;
|
||||||
|
|||||||
@@ -1,32 +1,39 @@
|
|||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
lib,
|
||||||
];
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" "sdhci_pci" ];
|
boot = {
|
||||||
boot.initrd.kernelModules = [ ];
|
initrd.availableKernelModules = ["xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" "sdhci_pci"];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
initrd.kernelModules = [];
|
||||||
boot.extraModulePackages = [ ];
|
kernelModules = ["kvm-intel"];
|
||||||
|
extraModulePackages = [];
|
||||||
|
};
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems = {
|
||||||
{ device = "/dev/disk/by-uuid/b6757b17-330d-4820-a45f-bad5e7f06516";
|
"/" = {
|
||||||
|
device = "/dev/disk/by-uuid/b6757b17-330d-4820-a45f-bad5e7f06516";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
"/boot" = {
|
||||||
fileSystems."/boot" =
|
device = "/dev/disk/by-uuid/AAE3-7115";
|
||||||
{ device = "/dev/disk/by-uuid/AAE3-7115";
|
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = [ "fmask=0077" "dmask=0077" ];
|
options = ["fmask=0077" "dmask=0077"];
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
swapDevices =
|
swapDevices = [
|
||||||
[ { device = "/dev/disk/by-uuid/173de2f3-09e8-4175-9f52-c8b6ea970ad5"; }
|
{device = "/dev/disk/by-uuid/173de2f3-09e8-4175-9f52-c8b6ea970ad5";}
|
||||||
];
|
];
|
||||||
|
|
||||||
# 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
|
||||||
|
|||||||
@@ -42,13 +42,13 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
nvidia = {
|
nvidia = {
|
||||||
|
branch = "legacy_535";
|
||||||
# Modesetting is required.
|
# Modesetting is required.
|
||||||
modesetting.enable = true;
|
modesetting.enable = true;
|
||||||
powerManagement.enable = false;
|
powerManagement.enable = false;
|
||||||
powerManagement.finegrained = false;
|
powerManagement.finegrained = false;
|
||||||
open = false;
|
open = false;
|
||||||
nvidiaSettings = true;
|
nvidiaSettings = true;
|
||||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
|
||||||
prime = {
|
prime = {
|
||||||
sync.enable = true;
|
sync.enable = true;
|
||||||
intelBusId = "PCI:0:2:0";
|
intelBusId = "PCI:0:2:0";
|
||||||
|
|||||||
@@ -12,25 +12,27 @@
|
|||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" "rtsx_pci_sdmmc"];
|
boot = {
|
||||||
boot.initrd.kernelModules = [];
|
initrd.availableKernelModules = ["xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" "rtsx_pci_sdmmc"];
|
||||||
boot.kernelModules = ["kvm-intel"];
|
initrd.kernelModules = [];
|
||||||
boot.extraModulePackages = [];
|
kernelModules = ["kvm-intel"];
|
||||||
|
extraModulePackages = [];
|
||||||
fileSystems."/" = {
|
|
||||||
device = "/dev/disk/by-uuid/1eec95dd-9663-4a46-8b6f-10f7754322fa";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot/efi" = {
|
fileSystems = {
|
||||||
device = "/dev/disk/by-uuid/056D-249D";
|
"/" = {
|
||||||
fsType = "vfat";
|
device = "/dev/disk/by-uuid/1eec95dd-9663-4a46-8b6f-10f7754322fa";
|
||||||
options = ["fmask=0022" "dmask=0022"];
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
"/boot/efi" = {
|
||||||
fileSystems."/home" = {
|
device = "/dev/disk/by-uuid/056D-249D";
|
||||||
device = "/dev/disk/by-uuid/92c16a05-22ad-436d-a6ca-37d5f0c2cc3d";
|
fsType = "vfat";
|
||||||
fsType = "ext4";
|
options = ["fmask=0022" "dmask=0022"];
|
||||||
|
};
|
||||||
|
"/home" = {
|
||||||
|
device = "/dev/disk/by-uuid/92c16a05-22ad-436d-a6ca-37d5f0c2cc3d";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [
|
swapDevices = [
|
||||||
|
|||||||
@@ -26,8 +26,8 @@
|
|||||||
nixers.walker
|
nixers.walker
|
||||||
pkgs.wayland
|
pkgs.wayland
|
||||||
pkgs.wayland-utils
|
pkgs.wayland-utils
|
||||||
pkgs.xfce.thunar
|
pkgs.thunar
|
||||||
pkgs.xfce.tumbler
|
pkgs.tumbler
|
||||||
pkgs.xh
|
pkgs.xh
|
||||||
unstablePkgs.ghostty
|
unstablePkgs.ghostty
|
||||||
unstablePkgs.hyprland
|
unstablePkgs.hyprland
|
||||||
|
|||||||
@@ -13,21 +13,25 @@ in {
|
|||||||
programs = {
|
programs = {
|
||||||
uwsm = {
|
uwsm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
waylandCompositors.hyprland.binPath = lib.mkForce "/run/current-system/sw/bin/start-hyprland";
|
waylandCompositors.hyprland = {
|
||||||
|
binPath = lib.mkForce "/run/current-system/sw/bin/start-hyprland";
|
||||||
|
prettyName = "Hyprland";
|
||||||
|
comment = "Hyprland managed by UWSM";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
regreet = {
|
regreet = {
|
||||||
enable = true;
|
enable = true;
|
||||||
theme = {
|
theme = {
|
||||||
name = theme.gtkTheme.name;
|
inherit (theme.gtkTheme) name;
|
||||||
package = theme.gtkTheme.package;
|
inherit (theme.gtkTheme) package;
|
||||||
};
|
};
|
||||||
cursorTheme = {
|
cursorTheme = {
|
||||||
name = theme.cursorTheme.name;
|
inherit (theme.cursorTheme) name;
|
||||||
package = theme.cursorTheme.package;
|
inherit (theme.cursorTheme) package;
|
||||||
};
|
};
|
||||||
iconTheme = {
|
iconTheme = {
|
||||||
name = theme.iconTheme.name;
|
inherit (theme.iconTheme) name;
|
||||||
package = theme.iconTheme.package;
|
inherit (theme.iconTheme) package;
|
||||||
};
|
};
|
||||||
font = {
|
font = {
|
||||||
name = "Noto Sans";
|
name = "Noto Sans";
|
||||||
@@ -54,9 +58,9 @@ in {
|
|||||||
thunar = {
|
thunar = {
|
||||||
enable = true;
|
enable = true;
|
||||||
plugins = [
|
plugins = [
|
||||||
pkgs.xfce.thunar-volman
|
pkgs.thunar-volman
|
||||||
pkgs.xfce.thunar-archive-plugin
|
pkgs.thunar-archive-plugin
|
||||||
pkgs.xfce.thunar-media-tags-plugin
|
pkgs.thunar-media-tags-plugin
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
xfconf.enable = true;
|
xfconf.enable = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user