Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
fbb581105b
|
@@ -9,7 +9,6 @@ keys:
|
|||||||
- &tilo-host age1awytvphvty4f9wmdn86xnjg9kgetqjx8qlwj5d2882t4fyyzy58s3vg5k4
|
- &tilo-host age1awytvphvty4f9wmdn86xnjg9kgetqjx8qlwj5d2882t4fyyzy58s3vg5k4
|
||||||
- &NaroMk3 age1erkn7dd022e90ktyj66aux9j9xvl0uzd6ru5cmrjsvcm5rtr5pfs7q6k9h
|
- &NaroMk3 age1erkn7dd022e90ktyj66aux9j9xvl0uzd6ru5cmrjsvcm5rtr5pfs7q6k9h
|
||||||
- &NaroMk3-host age16crkeglm3j3f6rveylytuerptjf9mwtv3hl89ywkmnnvdkntfchsuvrsk5
|
- &NaroMk3-host age16crkeglm3j3f6rveylytuerptjf9mwtv3hl89ywkmnnvdkntfchsuvrsk5
|
||||||
- &steamdeck age1ztuc996dapd7gpw5g7t4k3e9egv3dj6czxyslhnwula97w3cuytqlgzru0
|
|
||||||
creation_rules:
|
creation_rules:
|
||||||
- path_regex: secrets/secrets.yaml$
|
- path_regex: secrets/secrets.yaml$
|
||||||
key_groups:
|
key_groups:
|
||||||
@@ -24,4 +23,3 @@ creation_rules:
|
|||||||
- *NaroMk3-host
|
- *NaroMk3-host
|
||||||
- *elcafe
|
- *elcafe
|
||||||
- *elcafe-host
|
- *elcafe-host
|
||||||
- *steamdeck
|
|
||||||
|
|||||||
Generated
+318
-92
@@ -24,6 +24,43 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"cachix": {
|
||||||
|
"inputs": {
|
||||||
|
"devenv": [
|
||||||
|
"jj-cz",
|
||||||
|
"devenv"
|
||||||
|
],
|
||||||
|
"flake-compat": [
|
||||||
|
"jj-cz",
|
||||||
|
"devenv",
|
||||||
|
"flake-compat"
|
||||||
|
],
|
||||||
|
"git-hooks": [
|
||||||
|
"jj-cz",
|
||||||
|
"devenv",
|
||||||
|
"git-hooks"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"jj-cz",
|
||||||
|
"devenv",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1760971495,
|
||||||
|
"narHash": "sha256-IwnNtbNVrlZIHh7h4Wz6VP0Furxg9Hh0ycighvL5cZc=",
|
||||||
|
"owner": "cachix",
|
||||||
|
"repo": "cachix",
|
||||||
|
"rev": "c5bfd933d1033672f51a863c47303fc0e093c2d2",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "cachix",
|
||||||
|
"ref": "latest",
|
||||||
|
"repo": "cachix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"caelestia-cli": {
|
"caelestia-cli": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"caelestia-shell": [
|
"caelestia-shell": [
|
||||||
@@ -35,11 +72,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1780375472,
|
"lastModified": 1772764582,
|
||||||
"narHash": "sha256-Q8RAJoYlakA6B2I5DVcuxzNbhCNU1nnIjqQZYP1KGrM=",
|
"narHash": "sha256-hSwjmpXHFqzSXrndVekA0IheKrbC7wi0IbfZTYwlmXw=",
|
||||||
"owner": "caelestia-dots",
|
"owner": "caelestia-dots",
|
||||||
"repo": "cli",
|
"repo": "cli",
|
||||||
"rev": "d1c8c8fc09738d1b40576e97c274b4a11a2e0ac7",
|
"rev": "4bcd42f482d038b98145b0b03388244b68b7d35d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -51,18 +88,17 @@
|
|||||||
"caelestia-shell": {
|
"caelestia-shell": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"caelestia-cli": "caelestia-cli",
|
"caelestia-cli": "caelestia-cli",
|
||||||
"m3shapes": "m3shapes",
|
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"quickshell": "quickshell"
|
"quickshell": "quickshell"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1781178648,
|
"lastModified": 1775660122,
|
||||||
"narHash": "sha256-z6V1T7MHShM7TfFIMCDp94Bi1Wk9LJfK96vm8YFGY5M=",
|
"narHash": "sha256-qMKB06TE0MY1anDQKBrzZEpktNPyvMxQQzTEEwWAA6I=",
|
||||||
"owner": "caelestia-dots",
|
"owner": "caelestia-dots",
|
||||||
"repo": "shell",
|
"repo": "shell",
|
||||||
"rev": "a16c957a8bd13e0cfd09928ca0a22fecd3681e44",
|
"rev": "aa2b08dd45963dc9558de94dbff5e1615e347d02",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -79,11 +115,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1781307432,
|
"lastModified": 1775334496,
|
||||||
"narHash": "sha256-96fOVwSAFEoZNZtJM10E4Fz1kr59CwzYfUFidypPkKY=",
|
"narHash": "sha256-dUopEMj5KhH1vnv43o29kMsayp0Ki+9EfIn4UAE9sAU=",
|
||||||
"owner": "9001",
|
"owner": "9001",
|
||||||
"repo": "copyparty",
|
"repo": "copyparty",
|
||||||
"rev": "a00bc93fe1b6f71afffa43fab4efb88dceddea62",
|
"rev": "ede692925edfc6fca7a52f483414d543e9303237",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -92,6 +128,33 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"devenv": {
|
||||||
|
"inputs": {
|
||||||
|
"cachix": "cachix",
|
||||||
|
"flake-compat": "flake-compat",
|
||||||
|
"flake-parts": "flake-parts",
|
||||||
|
"git-hooks": "git-hooks",
|
||||||
|
"nix": "nix",
|
||||||
|
"nixd": "nixd",
|
||||||
|
"nixpkgs": [
|
||||||
|
"jj-cz",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1770304289,
|
||||||
|
"narHash": "sha256-+g+XMyB1zi50h2N38GE32l7ZONX4oW7Nw6QSXzfNiwk=",
|
||||||
|
"owner": "cachix",
|
||||||
|
"repo": "devenv",
|
||||||
|
"rev": "fd777e39027d393346e4df672d51ad2bf44b2a12",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "cachix",
|
||||||
|
"repo": "devenv",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"fenix": {
|
"fenix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -115,6 +178,59 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"flake-compat": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1761588595,
|
||||||
|
"narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=",
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-parts": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs-lib": [
|
||||||
|
"jj-cz",
|
||||||
|
"devenv",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1760948891,
|
||||||
|
"narHash": "sha256-TmWcdiUUaWk8J4lpjzu4gCGxWY6/Ok7mOK4fIFfBuU4=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"rev": "864599284fc7c0ba6357ed89ed5e2cd5040f0c04",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-root": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1723604017,
|
||||||
|
"narHash": "sha256-rBtQ8gg+Dn4Sx/s+pvjdq3CB2wQNzx9XGFq/JVGCB6k=",
|
||||||
|
"owner": "srid",
|
||||||
|
"repo": "flake-root",
|
||||||
|
"rev": "b759a56851e10cb13f6b8e5698af7b59c44be26e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "srid",
|
||||||
|
"repo": "flake-root",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"flake-utils": {
|
"flake-utils": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1678901627,
|
"lastModified": 1678901627,
|
||||||
@@ -200,6 +316,57 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"git-hooks": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": [
|
||||||
|
"jj-cz",
|
||||||
|
"devenv",
|
||||||
|
"flake-compat"
|
||||||
|
],
|
||||||
|
"gitignore": "gitignore",
|
||||||
|
"nixpkgs": [
|
||||||
|
"jj-cz",
|
||||||
|
"devenv",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1760663237,
|
||||||
|
"narHash": "sha256-BflA6U4AM1bzuRMR8QqzPXqh8sWVCNDzOdsxXEguJIc=",
|
||||||
|
"owner": "cachix",
|
||||||
|
"repo": "git-hooks.nix",
|
||||||
|
"rev": "ca5b894d3e3e151ffc1db040b6ce4dcc75d31c37",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "cachix",
|
||||||
|
"repo": "git-hooks.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"gitignore": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"jj-cz",
|
||||||
|
"devenv",
|
||||||
|
"git-hooks",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1709087332,
|
||||||
|
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "gitignore.nix",
|
||||||
|
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "gitignore.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -207,11 +374,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1781305496,
|
"lastModified": 1775683737,
|
||||||
"narHash": "sha256-g8Vv4Qfc7n+lgov97REu3X6BeJtvYY0hlSUZR1GrGQQ=",
|
"narHash": "sha256-oBYyowo6yfgb95Z78s3uTnAd9KkpJpwzjJbfnpLaM2Y=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "c87a39aa979acc4848016d2220c6238390d84779",
|
"rev": "7ba4ee4228ed36123c7cb75d50524b43514ef992",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -223,6 +390,7 @@
|
|||||||
"jj-cz": {
|
"jj-cz": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"alejandra": "alejandra",
|
"alejandra": "alejandra",
|
||||||
|
"devenv": "devenv",
|
||||||
"flake-utils": "flake-utils_3",
|
"flake-utils": "flake-utils_3",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
@@ -230,34 +398,62 @@
|
|||||||
"rust-overlay": "rust-overlay"
|
"rust-overlay": "rust-overlay"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1781450428,
|
"lastModified": 1775400071,
|
||||||
"narHash": "sha256-EWQpPImWpq0RHgyqa/lBoiMsjRjNdJCYa9fU2q+7nOg=",
|
"narHash": "sha256-uFoqOUB1wbqqDKRdHNEYdgyRQECYWhJBq4Oxjm3Dx9M=",
|
||||||
"ref": "develop",
|
"ref": "refs/heads/develop",
|
||||||
"rev": "4ad6e944b22a1d9990d43ac02650fc4d90fb1b4c",
|
"rev": "3da214ae4c14f57dc5f6ecd480330936f00e1a4f",
|
||||||
"revCount": 49,
|
"revCount": 35,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://labs.phundrak.com/phundrak/jj-cz"
|
"url": "https://labs.phundrak.com/phundrak/jj-cz"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"ref": "develop",
|
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://labs.phundrak.com/phundrak/jj-cz"
|
"url": "https://labs.phundrak.com/phundrak/jj-cz"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"m3shapes": {
|
"nix": {
|
||||||
"flake": false,
|
"inputs": {
|
||||||
|
"flake-compat": [
|
||||||
|
"jj-cz",
|
||||||
|
"devenv",
|
||||||
|
"flake-compat"
|
||||||
|
],
|
||||||
|
"flake-parts": [
|
||||||
|
"jj-cz",
|
||||||
|
"devenv",
|
||||||
|
"flake-parts"
|
||||||
|
],
|
||||||
|
"git-hooks-nix": [
|
||||||
|
"jj-cz",
|
||||||
|
"devenv",
|
||||||
|
"git-hooks"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"jj-cz",
|
||||||
|
"devenv",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"nixpkgs-23-11": [
|
||||||
|
"jj-cz",
|
||||||
|
"devenv"
|
||||||
|
],
|
||||||
|
"nixpkgs-regression": [
|
||||||
|
"jj-cz",
|
||||||
|
"devenv"
|
||||||
|
]
|
||||||
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1781017666,
|
"lastModified": 1769708679,
|
||||||
"narHash": "sha256-kfHyzZaPHgqZML48OA+5JwBOsLdQJ2ci/aGPShvUB4Y=",
|
"narHash": "sha256-uFKkp2/SjIqbu5HtINg/hwHN6qaqcxLIbL/om7dT3kI=",
|
||||||
"owner": "soramanew",
|
"owner": "cachix",
|
||||||
"repo": "m3shapes",
|
"repo": "nix",
|
||||||
"rev": "bdc327b29f95394a732baf3c9b19658ba23755b6",
|
"rev": "72bec37fabbfe378d677868ec42eeb83acf07a4c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "soramanew",
|
"owner": "cachix",
|
||||||
"repo": "m3shapes",
|
"ref": "devenv-2.32",
|
||||||
"rev": "bdc327b29f95394a732baf3c9b19658ba23755b6",
|
"repo": "nix",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -268,11 +464,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1780816331,
|
"lastModified": 1775365369,
|
||||||
"narHash": "sha256-0BYqs8yKWkOz2Q7+SP18N5E5gmDKSo6LSxIVIa0wWes=",
|
"narHash": "sha256-DgH5mveLoau20CuTnaU5RXZWgFQWn56onQ4Du2CqYoI=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nix-index-database",
|
"repo": "nix-index-database",
|
||||||
"rev": "1a2ea89c917781e88508d9fd2b507f2d2a0e173c",
|
"rev": "cef5cf82671e749ac87d69aadecbb75967e6f6c3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -281,13 +477,42 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixd": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-parts": [
|
||||||
|
"jj-cz",
|
||||||
|
"devenv",
|
||||||
|
"flake-parts"
|
||||||
|
],
|
||||||
|
"flake-root": "flake-root",
|
||||||
|
"nixpkgs": [
|
||||||
|
"jj-cz",
|
||||||
|
"devenv",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"treefmt-nix": "treefmt-nix"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1763964548,
|
||||||
|
"narHash": "sha256-JTRoaEWvPsVIMFJWeS4G2isPo15wqXY/otsiHPN0zww=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nixd",
|
||||||
|
"rev": "d4bf15e56540422e2acc7bc26b20b0a0934e3f5e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nixd",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1781074563,
|
"lastModified": 1775423009,
|
||||||
"narHash": "sha256-md8WlXOlfnIeHeOScMTTHFyf2d6iaTwPl2apR5EQ3P4=",
|
"narHash": "sha256-vPKLpjhIVWdDrfiUM8atW6YkIggCEKdSAlJPzzhkQlw=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "9ae611a455b90cf061d8f332b977e387bda8e1ca",
|
"rev": "68d8aa3d661f0e6bd5862291b5bb263b2a6595c9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -297,19 +522,25 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgsStable": {
|
"opencode": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1780952837,
|
"lastModified": 1775336060,
|
||||||
"narHash": "sha256-Fwd1+spDtQ0hDyBwme6ufG3n4mY0UrjjFdYHv+G/Hds=",
|
"narHash": "sha256-KkjMN2xA8jGBnj96UtzffvOeYJJZM05/5T36nSdpZkE=",
|
||||||
"owner": "NixOS",
|
"owner": "anomalyco",
|
||||||
"repo": "nixpkgs",
|
"repo": "opencode",
|
||||||
"rev": "e820eb4a444b46a19b2e03e8dfd2359439ff30fe",
|
"rev": "930e94a3ea098b9d56fcb6d08b545256d2546a82",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"id": "nixpkgs",
|
"owner": "anomalyco",
|
||||||
"ref": "nixos-25.11",
|
"ref": "v1.3.15",
|
||||||
"type": "indirect"
|
"repo": "opencode",
|
||||||
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pumo-system-info": {
|
"pumo-system-info": {
|
||||||
@@ -342,11 +573,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1780303737,
|
"lastModified": 1772925576,
|
||||||
"narHash": "sha256-7HgdJBG4BgAPDyHKKxWtxj7nziqsQo6zQCXtwy+L9fs=",
|
"narHash": "sha256-mMoiXABDtkSJxCYDrkhJ/TrrJf5M46oUfIlJvv2gkZ0=",
|
||||||
"ref": "refs/heads/master",
|
"ref": "refs/heads/master",
|
||||||
"rev": "b66495fcc5022681b56b61f928c7acbe910e722c",
|
"rev": "15a84097653593dd15fad59a56befc2b7bdc270d",
|
||||||
"revCount": 821,
|
"revCount": 750,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
||||||
},
|
},
|
||||||
@@ -355,33 +586,6 @@
|
|||||||
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"rockchip": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgsStable": [
|
|
||||||
"nixpkgsStable"
|
|
||||||
],
|
|
||||||
"nixpkgsUnstable": [
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"utils": [
|
|
||||||
"flake-utils"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1778273074,
|
|
||||||
"narHash": "sha256-gPbn0KjsgS2cJa/ENSMtjN0h8dIEy+2N6g8tw9915pM=",
|
|
||||||
"owner": "raboof",
|
|
||||||
"repo": "nixos-rockchip",
|
|
||||||
"rev": "2aab433a41cc9ba862ae73012acdd2eec3547667",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "raboof",
|
|
||||||
"ref": "pinetab-linux-7.0",
|
|
||||||
"repo": "nixos-rockchip",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"caelestia-shell": "caelestia-shell",
|
"caelestia-shell": "caelestia-shell",
|
||||||
@@ -391,9 +595,8 @@
|
|||||||
"jj-cz": "jj-cz",
|
"jj-cz": "jj-cz",
|
||||||
"nix-index-database": "nix-index-database",
|
"nix-index-database": "nix-index-database",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"nixpkgsStable": "nixpkgsStable",
|
"opencode": "opencode",
|
||||||
"pumo-system-info": "pumo-system-info",
|
"pumo-system-info": "pumo-system-info",
|
||||||
"rockchip": "rockchip",
|
|
||||||
"sops-nix": "sops-nix",
|
"sops-nix": "sops-nix",
|
||||||
"spicetify": "spicetify",
|
"spicetify": "spicetify",
|
||||||
"srvos": "srvos",
|
"srvos": "srvos",
|
||||||
@@ -425,11 +628,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1779992051,
|
"lastModified": 1770260791,
|
||||||
"narHash": "sha256-4YWGv/0NkAdtTW1MXfaLYpfC9BhpCy9k1pWkR0xI9uw=",
|
"narHash": "sha256-ADTBfENFjRVDQMcCycyX/pAy6NFI/Ct6Mrar3gsmXI0=",
|
||||||
"owner": "oxalica",
|
"owner": "oxalica",
|
||||||
"repo": "rust-overlay",
|
"repo": "rust-overlay",
|
||||||
"rev": "e93ad0df1073b2c969a8f0c1f10b84e870469d40",
|
"rev": "42ec85352e419e601775c57256a52f6d48a39906",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -466,11 +669,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1780547341,
|
"lastModified": 1775682595,
|
||||||
"narHash": "sha256-Gq8KNx5A7hBB3uGJaj6eQfLDIz5YdLu92gqBcvHvoUo=",
|
"narHash": "sha256-0E9PohY/VuESLq0LR4doaH7hTag513sDDW5n5qmHd1Q=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "9ed65852b6257fbeae4355bc24ecfea307ca759a",
|
"rev": "d2e8438d5886e92bc5e7c40c035ab6cae0c41f76",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -487,11 +690,11 @@
|
|||||||
"systems": "systems_4"
|
"systems": "systems_4"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1781101834,
|
"lastModified": 1775421933,
|
||||||
"narHash": "sha256-gNVY6SYglFe37FpD+NnOjTipsqvVMM2vh/uc22KDEsA=",
|
"narHash": "sha256-JkEbzFDFTsUlVtHEzA8Y4r3O9LInhb96eOCbtGjGnbM=",
|
||||||
"owner": "Gerg-L",
|
"owner": "Gerg-L",
|
||||||
"repo": "spicetify-nix",
|
"repo": "spicetify-nix",
|
||||||
"rev": "0243dd6707c969fc8440216c811b3f2e4a4cceb7",
|
"rev": "ec8d73085fdf807d55765335dc8126e14e7b2096",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -507,11 +710,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1781149687,
|
"lastModified": 1775701952,
|
||||||
"narHash": "sha256-TanScAdzeSOcaVDN4V4rnTAlbuizMJlrVSSt9QkkPEA=",
|
"narHash": "sha256-xj9u8fz2hTTTELMorqox0hPWrmAvGRnQUEnlj+vCjFo=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "srvos",
|
"repo": "srvos",
|
||||||
"rev": "7a66d11f03dd0588229af7a2b7018a435638dbf5",
|
"rev": "f56f1053ae9f878501d3a8ae1961c73d1d7abce3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -580,6 +783,29 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"treefmt-nix": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"jj-cz",
|
||||||
|
"devenv",
|
||||||
|
"nixd",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1734704479,
|
||||||
|
"narHash": "sha256-MMi74+WckoyEWBRcg/oaGRvXC9BVVxDZNRMpL+72wBI=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "treefmt-nix",
|
||||||
|
"rev": "65712f5af67234dad91a5a4baee986a8b62dbf8f",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "treefmt-nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"zen-browser": {
|
"zen-browser": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -587,11 +813,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1781242638,
|
"lastModified": 1775710180,
|
||||||
"narHash": "sha256-n0s/QM5ZJl3/v4tgDLsATIHR2dC+4+Aa2BT6FnthGy4=",
|
"narHash": "sha256-sCokvdNvl8zIzsnjgG0TN5h3RUI7GJyWW9ErfmEj0rM=",
|
||||||
"owner": "youwen5",
|
"owner": "youwen5",
|
||||||
"repo": "zen-browser-flake",
|
"repo": "zen-browser-flake",
|
||||||
"rev": "79f7cca35f9e4e38d1f8767bac130159f60866cc",
|
"rev": "2c138beb648d1cbbfae76695a8230ee04e4db25a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
description = "Home Manager configuration of phundrak";
|
description = "Home Manager configuration of phundrak";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgsStable.url = "nixpkgs/nixos-25.11";
|
|
||||||
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
||||||
flake-utils.url = "github:numtide/flake-utils";
|
flake-utils.url = "github:numtide/flake-utils";
|
||||||
|
|
||||||
@@ -27,7 +26,12 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
jj-cz = {
|
jj-cz = {
|
||||||
url = "git+https://labs.phundrak.com/phundrak/jj-cz?ref=develop";
|
url = "git+https://labs.phundrak.com/phundrak/jj-cz";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
opencode = {
|
||||||
|
url = "github:anomalyco/opencode/v1.3.15";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -36,13 +40,6 @@
|
|||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
rockchip = {
|
|
||||||
url = "github:raboof/nixos-rockchip/pinetab-linux-7.0";
|
|
||||||
inputs.utils.follows = "flake-utils";
|
|
||||||
inputs.nixpkgsStable.follows = "nixpkgsStable";
|
|
||||||
inputs.nixpkgsUnstable.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
sops-nix = {
|
sops-nix = {
|
||||||
url = "github:Mic92/sops-nix";
|
url = "github:Mic92/sops-nix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
@@ -66,15 +63,14 @@
|
|||||||
|
|
||||||
nixConfig = {
|
nixConfig = {
|
||||||
extra-trusted-public-keys = [
|
extra-trusted-public-keys = [
|
||||||
"marpa-local:XoO+dFN4PeauF52pYuy3Vh4Sdtl2qIdxu5aUasWKv6Q="
|
"devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw="
|
||||||
"phundrak.cachix.org-1:osJAkYO0ioTOPqaQCIXMfIRz1/+YYlVFkup3R2KSexk="
|
"phundrak.cachix.org-1:osJAkYO0ioTOPqaQCIXMfIRz1/+YYlVFkup3R2KSexk="
|
||||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||||
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
|
||||||
];
|
];
|
||||||
extra-substituters = [
|
extra-substituters = [
|
||||||
"http://marpa:5000?priority=5"
|
"https://nix-community.cachix.org?priority=10"
|
||||||
"https://phundrak.cachix.org?priority=10"
|
"https://devenv.cachix.org?priority=20"
|
||||||
"https://nix-community.cachix.org?priority=20"
|
"https://phundrak.cachix.org?priority=30"
|
||||||
"https://cache.nixos.org?priority=40"
|
"https://cache.nixos.org?priority=40"
|
||||||
];
|
];
|
||||||
extra-experimental-features = [
|
extra-experimental-features = [
|
||||||
@@ -89,7 +85,6 @@
|
|||||||
nixpkgs,
|
nixpkgs,
|
||||||
flake-utils,
|
flake-utils,
|
||||||
home-manager,
|
home-manager,
|
||||||
rockchip,
|
|
||||||
srvos,
|
srvos,
|
||||||
...
|
...
|
||||||
} @ inputs:
|
} @ inputs:
|
||||||
@@ -142,14 +137,6 @@
|
|||||||
inherit extraSpecialArgs pkgs;
|
inherit extraSpecialArgs pkgs;
|
||||||
modules = withUserModules ./users/phundrak/host/naromk3.nix;
|
modules = withUserModules ./users/phundrak/host/naromk3.nix;
|
||||||
};
|
};
|
||||||
"phundrak@pinetab2" = home-manager.lib.homeManagerConfiguration {
|
|
||||||
inherit extraSpecialArgs pkgs;
|
|
||||||
modules = withUserModules ./users/phundrak/host/pinetab2.nix;
|
|
||||||
};
|
|
||||||
"deck@steamdeck" = home-manager.lib.homeManagerConfiguration {
|
|
||||||
inherit extraSpecialArgs pkgs;
|
|
||||||
modules = withUserModules ./users/phundrak/host/steamdeck.nix;
|
|
||||||
};
|
|
||||||
"phundrak@tilo" = home-manager.lib.homeManagerConfiguration {
|
"phundrak@tilo" = home-manager.lib.homeManagerConfiguration {
|
||||||
inherit extraSpecialArgs pkgs;
|
inherit extraSpecialArgs pkgs;
|
||||||
modules = withUserModules ./users/phundrak/host/tilo.nix;
|
modules = withUserModules ./users/phundrak/host/tilo.nix;
|
||||||
@@ -163,10 +150,6 @@
|
|||||||
inputs.copyparty.nixosModules.default
|
inputs.copyparty.nixosModules.default
|
||||||
];
|
];
|
||||||
withSystemModules = modules: nixpkgs.lib.lists.flatten (defaultSystemModules ++ [modules]);
|
withSystemModules = modules: nixpkgs.lib.lists.flatten (defaultSystemModules ++ [modules]);
|
||||||
pinetabConfig = import ./utils/pinetab.nix {
|
|
||||||
inherit nixpkgs rockchip specialArgs;
|
|
||||||
additionalModules = defaultSystemModules;
|
|
||||||
};
|
|
||||||
in {
|
in {
|
||||||
alys = nixpkgs.lib.nixosSystem {
|
alys = nixpkgs.lib.nixosSystem {
|
||||||
inherit specialArgs;
|
inherit specialArgs;
|
||||||
@@ -190,10 +173,9 @@
|
|||||||
srvos.nixosModules.server
|
srvos.nixosModules.server
|
||||||
srvos.nixosModules.hardware-hetzner-cloud
|
srvos.nixosModules.hardware-hetzner-cloud
|
||||||
srvos.nixosModules.mixins-terminfo
|
srvos.nixosModules.mixins-terminfo
|
||||||
./hosts/naromk3
|
./hosts/naromk3/configuration.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
pinetab2 = pinetabConfig "x86_64-linux" ./hosts/pinetab2/gnome.nix;
|
|
||||||
tilo = nixpkgs.lib.nixosSystem {
|
tilo = nixpkgs.lib.nixosSystem {
|
||||||
inherit specialArgs;
|
inherit specialArgs;
|
||||||
modules = withSystemModules ./hosts/tilo/configuration.nix;
|
modules = withSystemModules ./hosts/tilo/configuration.nix;
|
||||||
|
|||||||
@@ -82,7 +82,6 @@
|
|||||||
};
|
};
|
||||||
sound = {
|
sound = {
|
||||||
enable = true;
|
enable = true;
|
||||||
noisetorch = true;
|
|
||||||
jack = true;
|
jack = true;
|
||||||
scarlett.enable = true;
|
scarlett.enable = true;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -24,11 +24,8 @@
|
|||||||
firewall = {
|
firewall = {
|
||||||
openPorts = [
|
openPorts = [
|
||||||
22 # Gitea SSH
|
22 # Gitea SSH
|
||||||
25 # SMTP
|
|
||||||
80 # HTTP
|
80 # HTTP
|
||||||
443 # HTTPS
|
443 # HTTPS
|
||||||
465 # SMTPS
|
|
||||||
993 # IMAPS
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -1,74 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
inputs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
inputs.sops-nix.nixosModules.sops
|
|
||||||
../../system/desktop
|
|
||||||
../../system/dev
|
|
||||||
../../system/hardware
|
|
||||||
../../system/i18n
|
|
||||||
../../system/misc.nix
|
|
||||||
../../system/network
|
|
||||||
../../system/packages
|
|
||||||
../../system/security
|
|
||||||
../../system/services
|
|
||||||
../../system/users
|
|
||||||
];
|
|
||||||
|
|
||||||
system.stateVersion = "25.11";
|
|
||||||
# documentation.nixos.enable = false;
|
|
||||||
# nix.settings.trusted-users = ["root" "@wheel"];
|
|
||||||
|
|
||||||
mySystem = {
|
|
||||||
desktop = {
|
|
||||||
hyprland.enable = true;
|
|
||||||
niri.enable = true;
|
|
||||||
waydroid.enable = true;
|
|
||||||
xserver = {
|
|
||||||
enable = true;
|
|
||||||
de = "gnome";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
dev.docker = {
|
|
||||||
enable = true;
|
|
||||||
podman.enable = true;
|
|
||||||
autoprune.enable = true;
|
|
||||||
};
|
|
||||||
hardware = {
|
|
||||||
bluetooth.enable = true;
|
|
||||||
input.opentablet.enable = true;
|
|
||||||
sound.enable = true;
|
|
||||||
};
|
|
||||||
i18n.input.enable = true;
|
|
||||||
misc.keymap = "fr-bepo";
|
|
||||||
networking = {
|
|
||||||
hostname = "pinetab2";
|
|
||||||
id = "99a11b15";
|
|
||||||
wifi.disablePowersave = true;
|
|
||||||
};
|
|
||||||
packages = {
|
|
||||||
appimage.enable = true;
|
|
||||||
flatpak.enable = true;
|
|
||||||
nix = {
|
|
||||||
gc.automatic = true;
|
|
||||||
nix-ld.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
services.ssh.enable = true;
|
|
||||||
users = {
|
|
||||||
root.disablePassword = true;
|
|
||||||
phundrak = {
|
|
||||||
enable = true;
|
|
||||||
trusted = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
sops.secrets.extraHosts = {
|
|
||||||
inherit (config.users.users.root) group;
|
|
||||||
owner = config.users.users.phundrak.name;
|
|
||||||
mode = "0440";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
# https://github.com/systemd/systemd/pull/35304#issuecomment-3855146191
|
|
||||||
# gnome autorotate expects 'normal' is the _display panel_ normal, but
|
|
||||||
# mutter autoconfiguration rotates by 90deg.
|
|
||||||
# compensating with gdctl for now, though it would be better to 'properly'
|
|
||||||
# fix this.
|
|
||||||
services.udev = {
|
|
||||||
extraHwdb = ''
|
|
||||||
sensor:modalias:*sc7a20:*
|
|
||||||
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, 0, 1; 0, 1, 0
|
|
||||||
'';
|
|
||||||
extraRules = ''
|
|
||||||
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1018", ATTRS{idProduct}=="1006", ENV{SYSTEMD_WANTS}+="landscape.service", TAG+="systemd"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
systemd.services.landscape = {
|
|
||||||
script = ''
|
|
||||||
${pkgs.mutter}/bin/gdctl set --logical-monitor --primary --monitor=DSI-1 --transform normal
|
|
||||||
'';
|
|
||||||
serviceConfig.User = "phundrak";
|
|
||||||
serviceConfig.Type = "oneshot";
|
|
||||||
environment = {
|
|
||||||
"DBUS_SESSION_BUS_ADDRESS" = "unix:path=/run/user/${toString config.users.users."phundrak".uid}/bus";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
gnomeExtensions.arc-menu
|
|
||||||
gnomeExtensions.dash-to-dock
|
|
||||||
gnomeExtensions.dash-to-panel
|
|
||||||
gnomeExtensions.gjs-osk
|
|
||||||
gnomeExtensions.one-window-wonderland
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,149 @@
|
|||||||
|
# https://www.inkdrop.app/
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
fetchurl,
|
||||||
|
stdenv,
|
||||||
|
autoPatchelfHook,
|
||||||
|
makeWrapper,
|
||||||
|
wrapGAppsHook3,
|
||||||
|
alsa-lib,
|
||||||
|
at-spi2-atk,
|
||||||
|
at-spi2-core,
|
||||||
|
cairo,
|
||||||
|
cups,
|
||||||
|
dbus,
|
||||||
|
expat,
|
||||||
|
gdk-pixbuf,
|
||||||
|
glib,
|
||||||
|
gtk3,
|
||||||
|
libdrm,
|
||||||
|
libnotify,
|
||||||
|
libpulseaudio,
|
||||||
|
libsecret,
|
||||||
|
libuuid,
|
||||||
|
libxkbcommon,
|
||||||
|
mesa,
|
||||||
|
nspr,
|
||||||
|
nss,
|
||||||
|
pango,
|
||||||
|
systemd,
|
||||||
|
libx11,
|
||||||
|
libxscrnsaver,
|
||||||
|
libxcomposite,
|
||||||
|
libxcursor,
|
||||||
|
libxdamage,
|
||||||
|
libxext,
|
||||||
|
libxfixes,
|
||||||
|
libxi,
|
||||||
|
libxrandr,
|
||||||
|
libxrender,
|
||||||
|
libxtst,
|
||||||
|
libxcb,
|
||||||
|
libxkbfile,
|
||||||
|
libxshmfence,
|
||||||
|
}:
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "inkdrop";
|
||||||
|
version = "5.11.8";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://dist.inkdrop.app/v${version}/${pname}_${version}_amd64.deb";
|
||||||
|
hash = "sha256-8aJSeUi5K9PgNJvfYAtnRnI2t+vM10jiqVAZmX+zni0=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
autoPatchelfHook
|
||||||
|
makeWrapper
|
||||||
|
wrapGAppsHook3
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
alsa-lib
|
||||||
|
at-spi2-atk
|
||||||
|
at-spi2-core
|
||||||
|
cairo
|
||||||
|
cups
|
||||||
|
dbus
|
||||||
|
expat
|
||||||
|
gdk-pixbuf
|
||||||
|
glib
|
||||||
|
gtk3
|
||||||
|
libdrm
|
||||||
|
libnotify
|
||||||
|
libpulseaudio
|
||||||
|
libsecret
|
||||||
|
libuuid
|
||||||
|
libxkbcommon
|
||||||
|
mesa
|
||||||
|
nspr
|
||||||
|
nss
|
||||||
|
pango
|
||||||
|
systemd
|
||||||
|
libx11
|
||||||
|
libxscrnsaver
|
||||||
|
libxcomposite
|
||||||
|
libxcursor
|
||||||
|
libxdamage
|
||||||
|
libxext
|
||||||
|
libxfixes
|
||||||
|
libxi
|
||||||
|
libxrandr
|
||||||
|
libxrender
|
||||||
|
libxtst
|
||||||
|
libxcb
|
||||||
|
libxkbfile
|
||||||
|
libxshmfence
|
||||||
|
];
|
||||||
|
|
||||||
|
dontBuild = true;
|
||||||
|
dontConfigure = true;
|
||||||
|
|
||||||
|
# Ignore musl dependency since we're using glibc
|
||||||
|
autoPatchelfIgnoreMissingDeps = ["libc.musl-x86_64.so.1"];
|
||||||
|
|
||||||
|
unpackPhase = ''
|
||||||
|
runHook preUnpack
|
||||||
|
|
||||||
|
# Extract deb file manually to avoid setuid issues
|
||||||
|
ar x $src
|
||||||
|
tar xf data.tar.xz --no-same-permissions --no-same-owner
|
||||||
|
|
||||||
|
runHook postUnpack
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
# Create output directories
|
||||||
|
mkdir -p $out/bin $out/share
|
||||||
|
|
||||||
|
# Copy the main application
|
||||||
|
cp -r usr/lib/inkdrop $out/share/inkdrop
|
||||||
|
|
||||||
|
# Copy desktop file and icon
|
||||||
|
cp -r usr/share/applications $out/share/
|
||||||
|
cp -r usr/share/pixmaps $out/share/
|
||||||
|
|
||||||
|
# Fix desktop file to use absolute paths
|
||||||
|
substituteInPlace $out/share/applications/inkdrop.desktop \
|
||||||
|
--replace-quiet "Exec=inkdrop" "Exec=$out/bin/inkdrop" \
|
||||||
|
--replace-quiet "Icon=inkdrop" "Icon=$out/share/pixmaps/inkdrop.png"
|
||||||
|
|
||||||
|
# Create wrapper script in bin
|
||||||
|
makeWrapper $out/share/inkdrop/inkdrop $out/bin/inkdrop \
|
||||||
|
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
|
||||||
|
--set-default ELECTRON_IS_DEV 0 \
|
||||||
|
--inherit-argv0
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Notebook app for Markdown lovers";
|
||||||
|
homepage = "https://www.inkdrop.app/";
|
||||||
|
license = licenses.unfree;
|
||||||
|
maintainers = [];
|
||||||
|
platforms = ["x86_64-linux"];
|
||||||
|
mainProgram = "inkdrop";
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
{
|
|
||||||
lib,
|
|
||||||
stdenv,
|
|
||||||
obs-studio,
|
|
||||||
fetchFromGitHub,
|
|
||||||
cmake,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
stdenv.mkDerivation (finalAttrs: rec {
|
|
||||||
pname = "obs-image-reaction";
|
|
||||||
version = "0.1.0";
|
|
||||||
# https://github.com/scaledteam/obs-image-reaction
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "scaledteam";
|
|
||||||
repo = pname;
|
|
||||||
rev = "4cd345e78c714e80e894cfb51c72b94135a6014d";
|
|
||||||
hash = "sha256-mC1B8tveHx35pfbAcOlosB8YKaBVg87MjXbr79sf7+k=";
|
|
||||||
};
|
|
||||||
nativeBuildInputs = [cmake];
|
|
||||||
buildInputs = [obs-studio];
|
|
||||||
postInstall = "rm -rf $out/obs-plugins $out/data";
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "OBS Plugin with image that reacts to sound source";
|
|
||||||
homepage = "https://github.com/scaledteam/obs-image-reaction";
|
|
||||||
license = lib.licenses.gpl2;
|
|
||||||
platforms = lib.platforms.linux;
|
|
||||||
};
|
|
||||||
})
|
|
||||||
+83
-94
@@ -1,124 +1,113 @@
|
|||||||
elcafe:
|
elcafe:
|
||||||
copyparty:
|
copyparty:
|
||||||
passwords:
|
passwords:
|
||||||
creug: ENC[AES256_GCM,data:7qzpipXxKVEGRnXkkD/HRSH82gqA0qviwWw1TwFqsoc=,iv:OvMwxY/zyljUNn8UiwxCQ904z43RakuImxh4RP2G0G4=,tag:gKGDkVuecktMg31HjdYMIQ==,type:str]
|
creug: ENC[AES256_GCM,data:bWiDsIB9xbCC8N3VNzoXQ/ciyh5LyX5gaH5HrCR1n18=,iv:UOUUs/dXMQ4gF5x1UZuSs/DZh14OErWq1EJjv1B5+No=,tag:gMrL7RlaIegw+gXE4Du0KQ==,type:str]
|
||||||
phundrak: ENC[AES256_GCM,data:vN/MCJi6SH8jZ89C1DTQvDJ+GkscXRo/Puhm0LwbZ0M=,iv:2IBTdy+hMCeDH4P3E2fz82ZQB0jM/t5GPDbPYhsEHSs=,tag:zUBLCkbdkwG4IJSMV+9DMg==,type:str]
|
phundrak: ENC[AES256_GCM,data:0kdrtlw2KeF4ZGqhejdnf1j59Lm5Gchh+wka2lOf8jU=,iv:4XG7M6oqRL0ZQiWMBe4oQ+mHjONkvuIXGa6m2Zqfd/A=,tag:A54LlE+7W2wXYn3HfCfBDw==,type:str]
|
||||||
traefik:
|
traefik:
|
||||||
env: ENC[AES256_GCM,data:VUS9oF/HLcxQ2QPLnQA14z0kokTuJVGNBfrS2KHWlBaJbqd/nxxWwHYIga7bK1dop1hznPyKVIZ/7A==,iv:0BKkKL6q5KANiu7PSxp0uGeRTXbnPN6HMYxMGnyijok=,tag:iBQupkVQTOqgp5z+tN726A==,type:str]
|
env: ENC[AES256_GCM,data:HUdWGYoEPp2v8dnDuVsl7YmPxuBfHmXzGrvKWeiqPlmAwMqVZrZ1j8on/7QKvYDJoTJ40XY2qNynSA==,iv:Vgc/fZERnNp7hSMeRd9EgB3IenKAFTAhwC0bk8CX4DE=,tag:SdfhOST/o29Lt1zRdXXRyQ==,type:str]
|
||||||
dynamic: ENC[AES256_GCM,data:5puwmhKtG8YxMVtOOBh957CiEKoUqn282YfuPBdJOWLBOmO1ksomZmxVguuAUg46JlvdbKeeK2HUiL7UUWwqHsQHLUkxN1dO6AY2eaJbzFVmm7J9tDoQ2vb+j2OxnXdznzv0dYFsRYaJZsQvdGdsRVXCtUsdxlmqn8ccsKvPCL/r+JSzsXzM76rKBL32T214q77cMdG+FavK0BzkteCDvQEldpwhBJJo8xXdPEd0wLvwOCnVt8M/j5dp4Y0F9puEa86kMhomFuO/c1EdevBLYL5gIh/zmyGFjbLtL6BE5CCLZyhI13VxIBCo188pDPcN3PjmZtsZxIb7BF5wBMny4igQHcvVzr5GXvPDcmKrUBCpxjZapMZmghKqnLzRVs6PWPQzpG1mqnn9YFQDcQD2kw+Y5IO2qepnt8teOBfK7gf2Yg/GdXPsmXFfeM9TnzXLiTfPGXL5fyEcq8oPc9UOZ7salDWQEP6iQOILHKcsMd7yFGiMvB4oCveRBbgMaOLPuxAGTVCXIX2G6aPR+rtH+2VBZf9qFpmqo1nJpFESIzwdYJbSbO6bz0a4Wcjrpx8fijdSBARa9NJ04/74DDYrE93EPknQmhThTdGkjm90wPqsYJ0AI2RKpp4/uDbxRvc9GeR2zFi/eJyXUMO75um/DfzEur6ixDrN+o3CRU5e6TOYjay86jkAYrkVRBYDndU7MRTiT65pCWvDzVS20ahaObvO9eOWSwJOK7sNHfEZ9bJJrQFfgh1/YWrTOVCYk1CSdQ4MwKglb2bUhWT69AcdOHzwKan/9YEgOE0/RYaPVv4tKzwVJcMUlYN78u8m/6ZJrj1F9KdDuCiqDUxz1nx843tddM27s1RAq9ia6ReOUcaNIEzSSJ7FHfbp8/bNPUPNkQx+LeOzR8+uyOtGtK/iwlcVTinqHEkaHHtk7LKiYS2tvB4lnGwFzDTG3HvzTTSvkC4T3YfRjgz9OZu8qTCvexMvy7IWCCMAFGLPIBb1peyA1VWVpcYDYkg9XGgRqlnbkgeIJHpoyd+Ac5EO3yjwWDawjK2hZmzPhLxbmcn2pAz8JqzbYKiYglM4E5K6cmzn1ex3CQqBYK6LtELys2rmye6Gwy0jmR90CbtTUbobkJMbitfjPyOW0W5LLW4hrkM/SSKDrKizI+gOBToc+1MVwkIQ4/ekbIk2Q6/XxKwEeXfo1/kTlWcS2FSADj231GtneYmwGQSJzIxTz4H+L2YUHM1zsgy7h6lI4GMGo85HTU+WhRSDQ2SlS7Jd2hSmRB1V6qYqIrCQsEqeN80IzPeTsqOv/HI/k7lezgzdPJFF8Vs/nbscmOrdlhAvRRi4rBYdHDtI+CApL6thvGHkbOJDu0csj1l185BAnJuoHrNDH6B3hfa+s1TiNvcJBE7Kg+2oaQqtd+8VjCbbh3AGRfnQjljnRpVDr8ePppaWnMP/6iNyZ2WX8rY6Y9SpdI5pOOhTWfKCWgsDWIyzP5OGgggqo/vukPi5p3ixRlrBTl7ZPTM+f7WAQRijm4VKww2MLyjYZTkuC7Sqkv1iXYUpMltZgRrsD2bt9jHiqz2m3EgrgmNZkuvG16DOOHQfAvaImWkv7F+3fSMIwIc3jF3HO3/yppMaGFiRFthlWL9Zg7PLtMP3B2gY5TQpSVhPQjZO02w1HPS7/HaZ6cPwcbMObRzsjA4wQTwnCCTmnKhtaOJkCjejYOQpf8DAltHYjjekTODk5EgJDIBw91Co9/Z1blVI3WORnQWFbuF9vQziERW/wPqso423gWk68P/bIizxVHbVCK167qunHlyCm21G/XVMkSRP3V3fBdgLG0F/Zg5rRyvnCj9gftV7aNZw0BEI/X6oZ13Pw90uSYlZhtGMpZ+tnH4KUYs34fjt13gb2OSvFeARHiyyGgrQWeRRfGUKSm8thAoWLR9myjlTpOetciY0Jv/FNkeMj8HOZFN3W4EidZ2PPtcWhY8zhkCYWzhvdz8f3g18iQ8EKNnRU5+xXwXnV4/jv1zpGvi8O1UlLhcFTybON5Q3zG1WtxX5vg2hb71QE4kJX2FfGee0Zunj45ZlJAJRllKu6VtumR5WvGQMWo2vXe89bu7oqY06SVGBVTr7MgaAzSw7tRShoBq2AV2Ui4geuApYDrrsTr36LAe1QehBx2Yf1d5QGvZxdTdH8N55Qss2dM9XV5eYv0L1nKSy7pBuKMf+g+1MeuGyCBbSGoPO9tfwx7e3phpypD4iq2B8AeFoYNfrymReCd92wDt6IRY7o7nfs4vg09u/bpEKUP9s14lP0FcEMzpBCEzPTSwnQECRfitq2FsS/nZHZcfnaa/QDspBocpK3lFKpoSbDAxJd4dvPct1BkSspltY7LDxN9aB1GxWjduCIvpHgcjBBq/n+V3pa3k=,iv:8JtxoykF20VZ0exOq3fSQ9JiK97yhSTbvEtFkCXU6RI=,tag:dAkgklzWAI2NvOre4BTo7A==,type:str]
|
dynamic: ENC[AES256_GCM,data:BKsjTfqpZhrocHOUfxjCNS61DVb1oSdPW99IrwmNjpFcs68WvyfD0+QZ9F362L88CQDTnDSXWAbc7mcBtxhqfhkjtsdxkhtLHMGG0WxlnYungTnROh9EDJRLNyjy/RCYWOIVOXIEUE5lLwnQkboZLEiruw1Ri+r27WYmGpD5DaR4XWDankb6BQPJA6f2ziPyynjNYZaRhMIQUDFLM3QRAXPYD00eaYIQtx253z8Uocz4LpOw2JReAQkI2zc+6Oe1O4fP/Cg8klF0owR6NkNUWoIUVwLqFmU7Yr45VO+T/f96Ev0hlDaMklxYJGNOS8kRbSqpaiuMCmL2mQ6rsZGFVfdMdImSL2j51lrPFJCsg/hNGXHAxQ0/OpHtcZz/cwn5nSHBXg6gX21kOpkWGY1+BRA15X0k5sUqXkZWjkP9wkSCV6pQTbr8a3GrX2VvGwguAC4EpTCkCobXw/d9a7bMfZFeJqFhwjpU/dfBi6OjF7bniOQ7k3+5RZRDqAxJiPaBk7NKVN1FzUCvFBjKifbfICOJaPJr1CmayNuBZtsSlj0MXBYx8D8oShzhsCo/+pyni4poMYyfNC9jQKWCBsjKEa6eWb1+TfOHv4W+lSlBFg3vGm4NDxCPnACKWlhKB4WoJGRHqnp809XF2fqP4lZN8S7+sB2rhNlr2CICk9oM80FNmW/8TTtIgbpfEeFeJwNTM+S95cFSqaIRg3kfcqB/bHG37BYthcL1SC85/lxhL2LJ/O0qXxbioyxVAaBIumAO8BB1qrdbOozHZZAU1IIKylDWMWUoJMyMdhMGnOxxxWcbV2jPUXUv03DYNp3G/5F2Hlr+h0bPIJEFZ2kb14wTK+25MsgfBgky26f8qjNwROqKA+bPeB2yUKSSCJb//PzzE4xyqu1mq2/1zTal0eSRTCEnAUCj0wDqCLBMO6GnL0PS4PtGJ9n/IbOjFXZeixWGJzUTcmxPAmsClH6FV8brEMVs5bfrjLieXQvcn0b8b9/1W2jV4dJGUE1TxUQ2B92VG7PrA39O/FO8tQJZrAMXO9iMv495w0Nxbt0HYN6wsFTUwlQ+3DCXxgmmVBqVSf1OtHuhxcznl1oR+sgPSgBRLVB22mv5677ErQGCWp1luyPSF6xvhIaKe9BDwxBwJ+RsqSn4w5t1qJM9uYqFunSJPY5439B4zWG+lUy1ZDNn1oHUaX3hZUhzc9tEm+0CWFNXxH2hiRFb2nYP6Pv/GNqjZCsflY0YYty0UJBqRELGpUO3Sd+zbyJmWtvDjto726/0jHB/jb0RVThUem0PzWmmIUth0ucKp0M7zqEWNyVPbvWOK6rWQW9eaW87bFeMhrD1PC+U0ilq9DKG1J3ldc0lEBrguc4fk72T3I62pw5KdGnsmB+FjAc8kdTFKhM52ylChsAnJGFu0LyBUgjGIzZ03XkO8RbYs/wzc9VQOvyikvB67wImXMu8PJDzMxXnu58y7C4U86kvLdUfYm5bz+MxZmXsDA1L7C4si6oLf7rOCfLLc4A1a/X/aMSk330SARW/UAZ/NaFDXhotYXZUSbr41Z6b0qRPZjjZfOkdeKxTp+r07+8oJpPOaIaaOIlNRkGyRCnbCGvJ4CuUfTQuywIefBHlawGzhsDvOKorWYTuim7MbJcd19bYMG6k8qqTQlNeHjZJaDLKJ/rnSAIGDSNYRP4uUUo0gqSp82E9bXUUn5VuFSPcJ55uvFXZD0f6tLZGIyUuG5tqw3xNQF2cA+4ZXzbxi6VIZQ+ahZELkoBR+dVXQ0yGkDJusNf61A1lfI2bd7JQnJ7YVhbF1gXNnDXdWO0F8zsnZyhSSJY3ZoXLdYn+v39+AxQvE3mpX7zNsk7+0WUHuqAh6JG6OBt7jF5OVwD3bfuQfDhPlfD7YOU5/C+rekDGXmfZOMXxadvQgWFcpHdgbV7NwKqdgj6pJDVoGO8/4HGtlb94/o6dtXzfheSLUhCUZ2Im81yduu8386fCYLHX/ZsP+CuuC2wlXQaSCgoODRXXDz7jsRcQNfW2ohmFT9iDn95NI5ylCgt49t2Cr06ft7Pd0tWjh69VQ8TjNlfqm3Sxlf/Gb9ihwOOytmbDv4bNKhpRIPC0jIZv3aaA7vgdLCbySVeMo1tfMx3Xvf6q8XqlsQ/HgwBxAMmjakIAukNwtU74oJ2AYpIO/Oc47081JR2sVtGWer6l7C8KMy9O0xYtABsofkc9kHQWtAvn82sSQTuI/UgD5ttfdfVZZaanHek3vgJyTYI3sPQDVJ6SXrC0a+fqMlTL7Jux/0B70gK1z46j5C54IBCChNa4CwXhvxofyoDgyF6DVC2qZxoKXGl1veQKJh68q9hCiDlYEpiwuRCs3j6uSUG4Rssc9TKfdY3AQltVrhykEORVEgZe1HWmlms=,iv:3G3geSZRziwGiKcUMVNZ7j5s/4YA6Uk7wCSb4aFNSMo=,tag:FxARskR9+wdV7/xCKP8UdA==,type:str]
|
||||||
marpa:
|
marpa:
|
||||||
nix-cache-priv-key: ENC[AES256_GCM,data:aOHqvU2O9dN+NZ4qPF8RdFVK2OyrMUDsy95AXCcvyQcTgT+79e3Gv2zuWAXwW1O7E4BDzlzbBYYFd3F9uCo7f4gd5I4gKu1cI1Nr8BUvyQdSy8uSa2FeasmNEdAFg1HE7ZJtYHk=,iv:aLizbDMFACYiBXthlKsFDvYIpf0Eb2x1rlWBP5xT4zE=,tag:OL/x9nS67Z0y2LoZ3B7szw==,type:str]
|
nix-cache-priv-key: ENC[AES256_GCM,data:H5VsN0nOogvgxWHXHF66BbzJe17zelZCG6mU4vmVJqBoi7a5cQxzU7WnV4k1EOpMJPDj6floVmrsG4DM86FthxcTwixCNDINmaemwAXQnUkgWXFKYY7Ovzten81UVKrtkN4n1S8=,iv:pxnHD5YqyTeNZnxyEJeXAUixZEz8Uq9b2HFZZBsMOzk=,tag:xI+4tFG+Q4Z5IVxlATayJA==,type:str]
|
||||||
opencode:
|
extraHosts: ENC[AES256_GCM,data:4lp7w0snYle7vGVLJq3zlTxoC8eVpaSreW3P8Aq+O6oRJoWo3IASpwi7zSx6nxmLo5LGPeupVXfy3xOkG9d5QFNU2uU6vXKvOnnm6wrpS+UcYp/4U/z+R3rFnFsI5PsCgmlL1bSUFCFkXlrLDIyoW50Q/DLXDS8QaUYAtto1DcRUXc9j8RnunYF38HFlAOD/Xa4DY048pvZu8TMsmLQjM5txZnZBq4+P8aBjY3SF+K9cqZ+SgQkU+gdGo0/S/N5OUZJ3ATJ6mglPl/Nplw/Dh9HvC7jEMJZKrVzWiYquTOn0/IytqOCS2SkhsmVMRqf06hpvhlz6sFXzkDfxKMIRTULEkjZDkZ7QioSbLeqmQePSg7xs28SvToiVKSpg0PxeH5LvJE73hgX3ATUXA2BmRvqQuqBwLaDU6TPm8xkYe7qbabaN5oFtXCI/XydZTao5Glqw/BZQRTise/qGgn3Bfl/ieMYQOqCMEdHzR0Beipur6spliGFC4YnwL3Nh4CO6qOB/j61a7rqY6nLyo54jWtjvHX42pTuGWhvhGH1z4NRZqcKks+KCMB4PcCXgul1hrb04wLXYVu7R/7QqOACp4SZBUFZCj+izcsnB1sKdKliL87VBUkwOSF+1JUCY,iv:5A3jCWLkooCkuOMiybbeQ9+TRA7CoiW3qbzmJLVarSc=,tag:qLsGhrFHs65Vesj4Ot4I/g==,type:str]
|
||||||
cors: ENC[AES256_GCM,data:DTKTN48/uE8GcdbqnCtCLmtQUX0Y3NW0cTLtIAU=,iv:A5wahOtJweVvWTp2C3QzIr0spKPXBMygUwDMPSHmriA=,tag:ao7XkG9N8nC6yFwT6pNs7Q==,type:str]
|
|
||||||
extraHosts: ENC[AES256_GCM,data:bAHBFj3RbrDrTyIaq8RZ7peqxZS23gRu5lhiu3DXlfY8seSaN7BXU1+XKXPPRJRGoYRCpH0MaskAlz1r3vc3mItzUPmOU4Vqqo/7CCMLb4ezIRhqpA/Q7MGnIj9m5V9pQZjgk+BTiMHdb/qOeG6VGv42dhYKUvxGcFIGoM5pjCaCGkM840Xb1XR9rMOY7wqtaE0kPpM355nTSAJqAM9NZ+CpNASpodRvXPPEhmbC0UrL93OCl/w8Ltvm2bDiB00jOKG2QukrWYdkGhigVweejiHz3+GHoDgY4fuRX/C78RW40PehnyqOd3S0dw6IwcnYK/Bx1dlk1UXydl4kYWgdAN0XO7YwoAM9fB4ESwjLop/xJXp4lFOxeiHi3TO9d0R0DqFEWuUpLmu7EKltQ44Xngz+EmJTBK0UhWfUqr/wRb4cVuchCxjvG9NFFwOTKzy8JJYI0oOgmJ9CqgCfmOp/KTV/I98HhHqykRCTTp4fYtXTQTxMrK5RAlovAnzEAaV8EWgwNDoDU62ChOT/o47xoj2bG481huyOT8dQWoKCWllPrYKu1bzH6/8klrDT9i3xVgRVWTlsnMYxrNhmP9dg5QrHn/4wfne+BfuUONoUjWkNHre11DdkQxIiMK+4,iv:bnTicEoQsjPbfyISHts+J8s/DC++khcuAainlvIViI8=,tag:8b/WGsIaGGQDqaoTRw9a8g==,type:str]
|
|
||||||
mopidy:
|
mopidy:
|
||||||
spotify: ENC[AES256_GCM,data:YdqncyUBw1UaXbVYBMZHWEP4iFoRtUSBnKosYirvyq2tjx/d16L6hLzWiGILir6hSE9x0Kmwq+qm91m4AuwJUZgg2Qfp+8A3hfCaCWk4NKP8mKRsV5yUrO5ruP9GOEJBOaoZV61AO/dQDIFdgAnKsMWrwofy/J52,iv:wdFUL3RKw2gMKJ25BKBdEs+p8kluigpaNbY7e0ZPono=,tag:fbOF4haBjxm8zcQD0GKB8g==,type:str]
|
spotify: ENC[AES256_GCM,data:6i9BzQmlndnROuT1H2zgN/3I6hBiFf14BlcS+XL2PbTiiEQZe2yE3tnZo3KXU9S5CjS3MwxsVdytKOFMQt2s1bVjcibBhJzoKEQByaapdzn1mK3kQLdJfhPf4Hf9YZV9Dlc60ngS7ESLZakdFVlj4rlbV5XReLhK,iv:fYd78r4U0kTyq1TZjBVXkjdNiOQ29gLJ53kwTXsi8W0=,tag:oWaeOuzdHWS4joZAdeA2pg==,type:str]
|
||||||
bandcamp: ENC[AES256_GCM,data:RZWVvqUM/oR81OI7VNhX9cq6r22UrZvx1mkcOQqcLWFh3+a9YpSaeNljoJszmIyGnApt2MR1L/vyX9apcWY4NEIPAsWfaSMUecXIA/LdVDN7fnvCjxBZqO9SjpKb9eW1MEImL/vkpaEd84BXVelcX2sgzSbJYA==,iv:a+0Owxtz5GWrnt9geuPOPZ9ab/J5lFHp/0nyiYYekNs=,tag:pdvBhNNvSnPR4nMHy1C8Fw==,type:str]
|
bandcamp: ENC[AES256_GCM,data:3uWlk1W6pgExsUkLpqpFXpMceYEdMfWMxNUq8iGEyq8/P3OAjzg7pvvPBGcVwmh4jSgNilRiqmmGrtYLwdqPUMlmbFB56K6ZLDIcC2yg2SRfulYcObvimOkIkx7ITr1u6jSzjMkTR5ekIlzlPBxFQzEfBbgdrQ==,iv:IY1VH/8vjNCPz8LGbYbyr5U3FcmhV+YhK3fHnLfWiak=,tag:lB78PRuEuFen54csc7jHIQ==,type:str]
|
||||||
emailPassword: ENC[AES256_GCM,data:jUEhu/wBhp25K0w14i/+p2H9F2fcVz/TtUZ8gl85oKAXeJR7/Q==,iv:h0N/smryCKp1ZgXlxQZplQ3wXYBXxL2rTgqJUMdWsZY=,tag:7dwQ0U5wefw9dTTIrYJ5NQ==,type:str]
|
emailPassword: ENC[AES256_GCM,data:RUuXzEfkqu1hEg12vBko17MtvdcFIxPofB+nFOuuMdWqjqJgEg==,iv:725/ttk8jHmSIj16gqvLykOu8D8rUbzzvOyxyZx8Jds=,tag:jv1ZO14WsKyWFsfqzRzZPg==,type:str]
|
||||||
ssh:
|
ssh:
|
||||||
hosts: ENC[AES256_GCM,data:dwJ0cC+y2o+fK0eNBbpo/TAEqWgRSWPida7CHTTziVgxvRPVLprdjb2cfntgb9JCCNo7dA9onRzkOqVDnWOz9mvCGa6W8QYJSbAcc9mpXCv0+5FKllLXE/c/i86VgW1qlCNQCtMzFtnTWWurOIG/dR546jzYoy0BYUA8ZUYKHWLRuUM7K00WtNgYyZ1O5QK+SbekkGFeBj4oSuzHB5Ik/dzuETULggZ5kTb4YTx9lePXUWf9zgeCi3+m2Za2bTngj9cxNDtepgJUPGFKvwaWq3nh+miW97ZcZEFCReYGHhRGiZe+SOJHMOFcvRBdek5Jce6SOZ/MYbHaOiXRwt94V2WaIX3jQtlvrEZ86cErC3kfWrW9J42x1r9gFtagXSGq20phcPEq/dAMkJyFviAtsRgIEAQL0Z7B1xGYlq8Pqqswu2HKrLNUxVMVpTZn/815Ii73sJ5TbHKiXq1iNSBeIH7dlzhM1t4OhH4gYbz7z1vT+fcfHQ4ocOzXNcH0X2uUXZPZLFLPJ4VZgZSPFjLXevkoeboHMWh21+u0R0pMPdRX3q46+iO4muMpiLbCgvDeNSk6oRFIr7J1sHpCj0alIh3QPRFT8Lk59MDsz4RrzD+8Xx4KXdfrhH3cl14XZQ0MZylruZY5QiewpvPt77JzRThVglMcrCjDYYYjp9TsXg==,iv:ctBJG65M/UDS3p4CAeYa3wvFoinyiY261FASJz0XkiY=,tag:XGFgIq49kDjetpLCQs4n2A==,type:str]
|
hosts: ENC[AES256_GCM,data:WTgCxNIyKTwFxDVlWkJcxrvUjYuVionDQSWgSqSc0SZ5mGbl228mv7Z6mXvwbN78+jIwTuuUtfmTsDoaUaSqyIReaXFsrIHAoCGoSMbJ10RiAbyDfCEH9vbHamAX22Ccfnyh7eUOb3AsAQo/pJs/95bdCpKEPy4SXcpB0tc+KpgrEijVLpRJFyB6UGl+2qg/hVfo8no5l4tZMUBxzS5KEU7pEEcA/SLfdVMM/4+aeVmJudxJPi3RsqnA8qORVpvJC0y/ln71OrFdRVrX4e47NEXzX2Hfr+hiFbW190xBp6a/kZypQl4vk4fzn8RUathQMOVmf1r4v7eJOYRWeGeZinZtQNe7SFWtiYc0pTbQ6GNyOMwzk3bMjlyzhlrTe1MqFqVbAHSsKk6ydpcjtXt4DgQ93IL4BU6emJu7HBFBOuQ9QWEvDubhB/0Y68BWUqGqY/2lPdllGJrXL87h5KJrLHSMyUX4mF9Je84aC0cv1N3d78kepo2wCz7jrfsxixT+qN7ufu/TurLloC6y2skOCmB+gcRo79Jzk4LRi+Zf+RWnWiXw5HsZWwO7so5JIDlgApkERif6vwup12jhdu+ZxcqFfjMt1wEFceS8YGNvUl0XWPgvmM9kdqn/4XXOYCnysbpcfZaBMGDOBUlbhLUybHdDzvGYV/kMU5m8xoXAjA==,iv:Gf2f71TluSEQtiHf7CIHE2tFX8N4Y17AjP1PnNuWuNA=,tag:sGmZR1lKbbOeEhPvrHHO8Q==,type:str]
|
||||||
sops:
|
sops:
|
||||||
age:
|
age:
|
||||||
- enc: |
|
- recipient: age1ajemtm502nn2n4q7v4j8meyd5mxtcqngkkedxq2pqzuwu78zp93qnw8q48
|
||||||
|
enc: |
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBPdzBQVG9DM0JEODVPMHYy
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2S3VaTmg3b2QxMGtVeStr
|
||||||
dXhJcG8ydG9BSEJYRmpCMzNXRUNtQjhWRFZZCjdDelozdzZWbmkzWG8xZFRwVVVx
|
WWRpb0RhVFNWM3RJNEV4ZTdRVmJUa2d6YVZrCnFTOWwwTlNhc2hqM2pwZ1hkcWd1
|
||||||
ZmMxWGF6b3R1Z2RlNjRuOExoUlNWa2sKLS0tIDRJWEw0ZmltUWYrT09ESndFa3RD
|
QlE2N0FtSGFFR1NHbzFOSzI5Um4rVTQKLS0tIEFaMHprc3Jlclk3MGtvc2NzZ3cr
|
||||||
ait2ZUpTMXpkQitUaWp3eGRldDZDNzAKw5ud8Zrs/OVnJVF4rNcFVYsaJpKP5sVG
|
blMrcWVSVFB3TVc0aTQ0RUYvbDFJS0kKmGisf9VDK2RPA1uQCK5udt7sdeDyh344
|
||||||
Q9v3d6pFqDg04WTcompVOeYOxKiQeDiBYLplrI0L5L4ykcBoWH11Qw==
|
IKhPHzEHAHjKEkE6sWc6TB/l8K3IfL9zdHQZ9ZqTvCiS8CBZOwPQeg==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
recipient: age1ajemtm502nn2n4q7v4j8meyd5mxtcqngkkedxq2pqzuwu78zp93qnw8q48
|
- recipient: age197lfdanym647wdaz9uy8hrfqjwj9fs8rm7vs3fsrctceu8mr9gms2jedhz
|
||||||
- enc: |
|
enc: |
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2cjNBcksvZ3BJTyt1S0Zs
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTRzRqTzlzVWpGMVFEbjV5
|
||||||
VGxkL0phMXlrL09NNjRRTkM5UFROZVNheVZzCld0eTcwcGQwMCs1dmdpcGE3Y05F
|
R1RXS1RBMzZGaGZjUkFZc3RLb2JkSzlRQlJZCnp5c0pMOHBZUkhralArcUhLSmx5
|
||||||
Q2ErNG1hemNMbGVOOFRrN3ZMOTNOSU0KLS0tIGcvd0duODlpUC9RMGl4QkdsOGVn
|
Uk41cGRUR3RxR1FYVHBWU3d6ZXJpcFUKLS0tIFdLclpadHV0QlRuYmJhYVZGWVc5
|
||||||
ZkhCUmRCZUhnWjY3K3llQUR3cVYxYWcKb6gKRIjcVksT4gdSKSvl+U3yJ9osrnVp
|
eHRMV2o0TXhoVkcyaXZqU0tsR0o2eDQKdYwEuPeQ1fntKQKIlOlxet+SJ0rT5I1y
|
||||||
X9ToceiCN0DnSLRK1njH1U0LIGs5zyDE0iSejJY3Pp/6lID44Ary7A==
|
WDpfGZUVvghx5dwdd6EMq3sQUeoFSfjrlgIAwNtHRwMC19A68ubzhQ==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
recipient: age197lfdanym647wdaz9uy8hrfqjwj9fs8rm7vs3fsrctceu8mr9gms2jedhz
|
- recipient: age17pn6suvz2f7zmrm9zxj5hr0putvcvdamqxqt7ewhncgg6ccgmp2qr00xm2
|
||||||
- enc: |
|
enc: |
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBuRDlaZjRNSkNyV1pOZkh2
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxUEtOZ3Zac01HTjVZVXNF
|
||||||
Ti9UYldsdGlVdmFnTUlvcWRVRjRZYXh6WlhNClpOVlRpU3c4T0FkTUo5MytFK21i
|
endFNVprclpJMmh1eTA2ZmVJRTJlbjI3dEVNCjA4K2U5QWlOdkI0R3JwbVpNRWJG
|
||||||
RnZQVE9SYUJ3Z2g1N3RKbHh4em5ITWsKLS0tICtNNWVyYjdaYkR5dW9PejlGSmNP
|
T0VQWS9uS2UrRVk0YU9VcGhSUkJ6S2sKLS0tIGJZY1VSM1o3QUR5Mk9vNmhsRWxr
|
||||||
NDFybGZZazFZa1RnV1hhclRXZS82bkUKb4ZYkZw1lQbwUQ+nz2pHvrLmKk03lEzu
|
YURQR2kxdExKR00vYVJMVVQxekdVOE0KDkPOMeCo1MoM5R89t1rsMWR/bGIx592Z
|
||||||
FQOLoBer82Xvv2X12UZBKUGydGT6kenCK9Cxdp2CptnvCKQPUmhk/A==
|
wvbVmE/El4Z0QzuvXl0XK3CFlKGuwgNw5TvtQ9QZP1aAL3yN0+T5oQ==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
recipient: age17pn6suvz2f7zmrm9zxj5hr0putvcvdamqxqt7ewhncgg6ccgmp2qr00xm2
|
- recipient: age1cnnpnglkvgw5ffv8qpgwpqvj203lh4uwt698y9mxjwklxt8nysmsa8hepn
|
||||||
- enc: |
|
enc: |
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA5anY1ZG9zaUo3bEozUXo2
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQQTV1dkxMK3dxbGhiTGJG
|
||||||
T0hVK1dUQzVIbnZ4ZnA0dUhHQ3ZONWNoZXlNCnB1ZU1mTjYwSTdNN09KWTc2WU9N
|
bkVQTUFOU1I4SXAyV21PdThSZFNOTTA0cmpFCkpXcmRXdlE0eVRYWWErQUxSWFN4
|
||||||
NUVCQkkxM2hXNFU0eEJpRU5QelN1UlUKLS0tIFF2c1lueVQzY1hsRWptR3N2UzFz
|
bjI5bkU1NE84V1FTNVZiYUpLSnhSL2cKLS0tIFl6YmxmM1JLSlpxcDcxTnRnT1k3
|
||||||
RUsxTkZVRzFoelNqeDRVVDM4R3JlNnMKUvGEbBmA7hRcmeXk0zJhJGvBPWKKtgp3
|
M25EQU5zckVMa1VSK29iYW5PbHRJcVEK6+gstHbcPBdeRNvZa21nZB5sT1SdHWHs
|
||||||
Vhk7+E0zMmlzDoTcZyaeNDozzT6RGTmNS3q5h0biIutK/6FLKreWlQ==
|
8St5tYl5I3CxNWFgFjOrHqteRKc+ZTcj3euAJ6Wathbw0YMiA3gz0Q==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
recipient: age1cnnpnglkvgw5ffv8qpgwpqvj203lh4uwt698y9mxjwklxt8nysmsa8hepn
|
- recipient: age1g68hxv73llkyc7etzh499ztcrt93pwawy0n8p93px4taqu58mehsp88vjq
|
||||||
- enc: |
|
enc: |
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCZUo1ZDh6cTM0VTREMFIz
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYRGYyUGhlL2NJelZTQ1g0
|
||||||
OWRJNW1aL2RyKysxTDA5RVNjOHFjb2hvalNZCllYeTJjTWZONmd3RWxhdi9udTJC
|
UEhJMFlkVmdlU1E2cGE2UHF2dytVYmhQMlIwCmdrOEZjUUFrQjMzK2FxVjF0NGY1
|
||||||
elFCdStNZE96Q2d3cjhiREtwb1ZnRGsKLS0tIGhoZXdpMW1Qa3Z0Yk9zU1ZmUGJj
|
UStNT3ZXbEJlUGxzSXlBTmYwUzRIalEKLS0tIHFuWWIrTGN6eUxyNEhybHIydzRp
|
||||||
YlRkTWlmSE9TNWNmMkNmbHJEWEFrNXcKxwFWZ1qtfudrjB4pxHW0wmBsmpKAvQSm
|
cUFid1RwRXA4cExWd3poK2hEaVd5Q00KjjiEiQw2OxcGv/qDudLmbM6aysYhLTxi
|
||||||
q9t7SiFKqRPZKEPqDQo3G+xoXsjt0nC0iKKikYF5XcFHHXWFb5sepA==
|
Qjmh133pyznFs+pLVLdYnId42zvojAeuJD9cJYxuwwgPA2ZlKdSVrg==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
recipient: age1g68hxv73llkyc7etzh499ztcrt93pwawy0n8p93px4taqu58mehsp88vjq
|
- recipient: age1awytvphvty4f9wmdn86xnjg9kgetqjx8qlwj5d2882t4fyyzy58s3vg5k4
|
||||||
- enc: |
|
enc: |
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQVEczOHNXaVdzdExpWnRQ
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBRbUs1Qm1hUnJldDNZNUR0
|
||||||
bElRbGpHdm90Z2FxRWNkanBjbVJFbHFQWmlNCjNhZFNMa25kTGVCcEFWeXV1Vnlv
|
N3d0YXp5NWtjV0xvc1ZrM3ArZllIbmJtRXpnCnp2TVRyQVFqNC9kWXpBa0NnbW9X
|
||||||
TytRbklGRkNENEtaeDMxN0t0NGp6SjQKLS0tIG9YNWhPWjhWd2VXWlNUaGhuVWpi
|
VVFONnNleG9wN2IwdkhSWjBObmVGd3cKLS0tIHVDVmVNazdLWUpOQVlTNFRwL1c5
|
||||||
dE9EUTNVaTgyMWFNZ3FzOUhFUHZmeHMKuiICVTlhhHOAqr+t2g8VEWmjQ7OEr6x/
|
bkdsaXNINEZpZjdMdHAwdElpWFQ0aW8K0guO/BF8hp1LDToVBFY5JKdz8WXOwK2P
|
||||||
1FOEAjGif5qrYK2JAkYRCTz6DnxZRcpWCgc51lvrbjVtP9ehLHdhAg==
|
prGKdxPsTAfW8xTq97LHHRsLC7+4TVXnjF4LS4SM8EXIX9KCl5FIGA==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
recipient: age1awytvphvty4f9wmdn86xnjg9kgetqjx8qlwj5d2882t4fyyzy58s3vg5k4
|
- recipient: age1erkn7dd022e90ktyj66aux9j9xvl0uzd6ru5cmrjsvcm5rtr5pfs7q6k9h
|
||||||
- enc: |
|
enc: |
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAybWd4SnU0N1ZPZ3JJUkFr
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB4ZEVtVzM0dFhJYWd5UXZO
|
||||||
MUl2ejVRUGZ6eGU1Q1NVZktuOXcwUlBpakNJCkdwaEtPYzlqSlN3WU5zYVB2QVB0
|
ajIzSFp1VENuSjlaYSs4ZUdBSS90aEoyM25JCnhrd0lyUVN0dEV5a2tQUjZwSlFx
|
||||||
aDZVOWpCOGppeU1lYUJhVS95bFVUbHcKLS0tIFJNRzc3VStlblRmYXZma1MzY01p
|
eVlLT1kyejhuZDdGeHpDQnRMTllCSHMKLS0tIHZVS1JDVzBaaG1Oend1eDFiT1F4
|
||||||
RzlZNFg5d2tVTVoxbDA1RStjMk9JYkkKf09NyGYpu/LszVrIXVpRzmFFkY3L4wmH
|
NU1vREt6SXBWYU1xdW1JSm1uUGZQRVEKtaDeDNo817rXXoMkBHo0MZWtm4LayqwC
|
||||||
3b7Iev9HCVTzcRqxUpXXcL8pRKjLEOAI+HcFZUQiBmD4+xOCYMfuGw==
|
NN8vbhGcgT+M+ehnmZ1HdPk8VWRvlQ+SMpG+a6DjK8BjYtAWcO16RQ==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
recipient: age1erkn7dd022e90ktyj66aux9j9xvl0uzd6ru5cmrjsvcm5rtr5pfs7q6k9h
|
- recipient: age16crkeglm3j3f6rveylytuerptjf9mwtv3hl89ywkmnnvdkntfchsuvrsk5
|
||||||
- enc: |
|
enc: |
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBwUGZOM1U1NlEzL0N0VjBM
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6eUFYSC82YVM1WVEwc2Fz
|
||||||
TFJpUTJuNmtEMUxTZno4M2dUVkZVZGdNeEFvCmQ3Q21vM0xoSnFuUTIwNFZGUjJz
|
aEl3TG5oOFU5MUFhQ0JhbC9yRVYxOFo0bUVJCnpwQzMyZmN4ZTlNVW5pZTY5bkdY
|
||||||
bTlBUzhKZ2FZYVJMSjdzT3R5WmxzRncKLS0tIDNVYlUvM29sMFdIaGhwSkJUOG81
|
bjhaSnFxS0Vrb3pHTlJkWjVvczBSOG8KLS0tIHlsbjhxODdvcnd4c21aWUNpK01M
|
||||||
L2ExYktQVkw3WU9pYk9haktKd3R1UW8Kuqh/4fmHmBNJKkotCau2gTHx+CEj7L0f
|
ZW1hTUFtVE15QzVIVU93ZExlUWZjYzAKUZj+/NtMHCPjFFqbJ/8b2ASljV6GEk6p
|
||||||
HuRVxbC8smhRNhM7x8jRJ0ui/SF05A4qwvC/LMv6P3W7W42bCRxErQ==
|
FbqV9LezRZrfl9GXBVUpB4Oeb9v2yp151aSda07/AG5YO0/jRAV/Bg==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
recipient: age16crkeglm3j3f6rveylytuerptjf9mwtv3hl89ywkmnnvdkntfchsuvrsk5
|
- recipient: age1tkywsvddjj6r6ukuqgz9aql92jfx85rz57dhmkkndysh6yx6p5rs0zj0qr
|
||||||
- enc: |
|
enc: |
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUMzdDa2ROL0h3MExRY2tp
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxdjFYN01HcXZMNVBJckVm
|
||||||
RGM0cmdXMlhGSDFob1FycVVHN0ozUTBudjM0ClF4a2JQT3pNbmZKL1BCNC95R0lm
|
eklKZHAxeWgvVlcwWk9yWUJpcFFBUnpUV0FZCi85dGE2L3d3OS9CdW5sL0pZTTM2
|
||||||
Q0VOdUI4Z0hHcEpwREE0NW02QVVRbzAKLS0tIFVqbFBVNDJ3eTBsZFNNSEpDak1y
|
SFJkcUN0emh6S3hMenhCcXBhNWF6eVUKLS0tIExwNEVyRmpGRXRLMjgxY1dqbkxQ
|
||||||
c2h6eWxKN3FramxGNGZsRlcrL1VpUnMK4nUJnjktSe94uGXGU/aw/SP5X/EPiQjz
|
bk04K1luNnJVTjZQY25KRXNSVG0venMK7uM4tqqmq/o4QgMlE/x/FXkQsPRkofNO
|
||||||
97j0nMDIc1cxnh0oB7dK9xq4s1LpBOJWGCUSVkBYU9pAWgcQVtHOSg==
|
I6C93RYgp1OcGPH14Kmp5lXtK4/pdToaRnVXPGenDQJsFhwWCEI+Fg==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
recipient: age1tkywsvddjj6r6ukuqgz9aql92jfx85rz57dhmkkndysh6yx6p5rs0zj0qr
|
- recipient: age17p69ktg7yfzgdsk00f32mupe4n4fevdpw2wsv7ft30yvpeseau6s7t0zdg
|
||||||
- enc: |
|
enc: |
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxKzhoOEVjdkNBaUl5dW1i
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBsOTFXaHE0SDRCTnE4di9N
|
||||||
aktGWm9ZTDNTWGcvK2xJZDVMMk44S0UrdG5ZCjV0WUw2YndHdXM2b1lCSGhxbHRn
|
S2JIbHF2a1pzNzU4UFIvQmpZMVpOUjJqd0RJClVxcTd3d05aRDN1RGVmWVpQS2lI
|
||||||
TEM5cVRHZXQzS2poeWZ4azVlWXNqVzAKLS0tIDRSV2hEWGMwa1FXOG1jaGwxR2Y5
|
L1RVU3FUM3d4SU9pYXlwSko2RW5uWjgKLS0tIEplR1l1bGlad3p1ZkNBbFY3YmlM
|
||||||
Z1h1R3hVMWc1WmVRSENtekdhOVhMWlkKPxcztky7YjMEcMMvjis52VsS6OyxqT5r
|
dUpXZis2N2VyN0ZFbjlPRXdwRFQ1aHMKm1Mk6MPKxFmwdATCYUANRSY5rHKgmQer
|
||||||
WHZ4l41AZQZg59QYvA29L8G2YWJHnOHKd83LsFw627/eR2c2pAHS9w==
|
LBlqqWKt1JiIUAYtazQeQ6KYxmjVlQPY7AZw2t+EhBEPrqbTL3vOiw==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
recipient: age17p69ktg7yfzgdsk00f32mupe4n4fevdpw2wsv7ft30yvpeseau6s7t0zdg
|
lastmodified: "2026-05-01T13:20:34Z"
|
||||||
- enc: |
|
mac: ENC[AES256_GCM,data:OueL0eHYmFKWfSyCZxburRJ2FS1xkowx7ha/Zv7r++26D85GSHDeIL9HdfByI5a1OhH90rH3WLxZrJgT3FiwBw27HhhHtS7Fs6MBFvTuPmSA7ZtMeGMWBRVjwbGAWN17BZAhJzMlZHq2nPX0xXIKT0HuTLVRPLuVCSlvDzMXsTE=,iv:+JN4Vzs8o8PJAam/uKBbUXt3ArxC88D6xR7rMeeGglg=,tag:S+OtbxLhVKFnqBZtyKDGyA==,type:str]
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMclFDR0wxNm0xYUNydE43
|
|
||||||
VjkrREZGWFk5Si9MYjY4ZU1JVW1kT2VwZG0wCmdJT3ZoOGRxd3lqUGdPUG1sa25W
|
|
||||||
RjZ1Ymc3RGFEaEZoNnY4NmV4TGYzaWsKLS0tIEcwdDl2aWtyWTNsa1F6bzg3Vmx4
|
|
||||||
MEV0cnJoWVcxVktwY05yUUNvbGNpZlEK2LbBLBooezdoNvUCwjGNp5TbAl5duIP8
|
|
||||||
QUd0alW52eTCpVBWsXU2JbXIwfc3HY7fl2dbPgD38mcCsoFBQ3hH7w==
|
|
||||||
-----END AGE ENCRYPTED FILE-----
|
|
||||||
recipient: age1ztuc996dapd7gpw5g7t4k3e9egv3dj6czxyslhnwula97w3cuytqlgzru0
|
|
||||||
lastmodified: "2026-06-13T23:40:11Z"
|
|
||||||
mac: ENC[AES256_GCM,data:a4PQgcTV86va1Ht4ZyG40XGEbV+P5bwgSIWmnaqTKHaRSQTvmUhRzwU7VSCPwNhOr2FqeGWpSl6QcI8p/RrthP1s43FwNo57T+3ZEjLB+AjywLENDu64wv9RFVK+mYSPzUsZwq2X98Lq6ygmHLHohDJFhZIDjq+WqYB4m2gf3uQ=,iv:ZdgwbsKscihqApFz8BSvW673UJsJAjPWPFPSN0xKRSA=,tag:vGa7CV6yXWRmpSMsW0yQkw==,type:str]
|
|
||||||
unencrypted_suffix: _unencrypted
|
unencrypted_suffix: _unencrypted
|
||||||
version: 3.13.1
|
version: 3.12.2
|
||||||
|
|||||||
+54
-1
@@ -1,15 +1,68 @@
|
|||||||
{
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.mySystem.misc;
|
||||||
|
in {
|
||||||
imports = [
|
imports = [
|
||||||
./boot
|
./boot
|
||||||
./desktop
|
./desktop
|
||||||
./dev
|
./dev
|
||||||
./hardware
|
./hardware
|
||||||
./i18n
|
./i18n
|
||||||
./misc.nix
|
|
||||||
./network
|
./network
|
||||||
./packages
|
./packages
|
||||||
./security
|
./security
|
||||||
./services
|
./services
|
||||||
./users
|
./users
|
||||||
];
|
];
|
||||||
|
|
||||||
|
options.mySystem.misc = {
|
||||||
|
timezone = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "Europe/Paris";
|
||||||
|
};
|
||||||
|
keymap = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "fr";
|
||||||
|
example = "fr-bepo";
|
||||||
|
description = "Keymap to use in the TTY console";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = {
|
||||||
|
boot.tmp.cleanOnBoot = true;
|
||||||
|
console.keyMap = cfg.keymap;
|
||||||
|
time.timeZone = cfg.timezone;
|
||||||
|
environment.pathsToLink = [
|
||||||
|
"/share/bash-completion"
|
||||||
|
"/share/zsh"
|
||||||
|
];
|
||||||
|
services = {
|
||||||
|
orca.enable = false;
|
||||||
|
envfs.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
nix.settings = {
|
||||||
|
substituters = [
|
||||||
|
"http://marpa:5000?priority=5"
|
||||||
|
"https://phundrak.cachix.org?priority=10"
|
||||||
|
"https://nix-community.cachix.org?priority=20"
|
||||||
|
"https://cache.nixos.org?priority=40"
|
||||||
|
];
|
||||||
|
trusted-public-keys = [
|
||||||
|
"marpa-local:XoO+dFN4PeauF52pYuy3Vh4Sdtl2qIdxu5aUasWKv6Q="
|
||||||
|
"phundrak.cachix.org-1:osJAkYO0ioTOPqaQCIXMfIRz1/+YYlVFkup3R2KSexk="
|
||||||
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||||
|
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
||||||
|
];
|
||||||
|
http-connections = 128;
|
||||||
|
experimental-features = [
|
||||||
|
"nix-command"
|
||||||
|
"flakes"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,10 +9,7 @@ with lib; let
|
|||||||
in {
|
in {
|
||||||
options.mySystem.desktop.waydroid.enable = mkEnableOption "Enables Waydroid";
|
options.mySystem.desktop.waydroid.enable = mkEnableOption "Enables Waydroid";
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
virtualisation.waydroid = {
|
virtualisation.waydroid.enable = cfg.enable;
|
||||||
enable = cfg.enable;
|
|
||||||
package = pkgs.waydroid-nftables;
|
|
||||||
};
|
|
||||||
environment.systemPackages = [pkgs.waydroid-helper];
|
environment.systemPackages = [pkgs.waydroid-helper];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,9 +20,6 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
mySystem.users.phundrak = mkIf config.mySystem.users.phundrak.enable {
|
|
||||||
extraGroups = ["docker"] ++ lists.optional cfg.podman.enable "podman";
|
|
||||||
};
|
|
||||||
environment.systemPackages = with pkgs;
|
environment.systemPackages = with pkgs;
|
||||||
[
|
[
|
||||||
dive # A tool for exploring each layer in a docker image
|
dive # A tool for exploring each layer in a docker image
|
||||||
@@ -32,7 +29,7 @@ in {
|
|||||||
podman-compose
|
podman-compose
|
||||||
podman-desktop
|
podman-desktop
|
||||||
];
|
];
|
||||||
virtualisation = {
|
virtualisation = mkIf cfg.enable {
|
||||||
docker = mkIf (!cfg.podman.enable) {
|
docker = mkIf (!cfg.podman.enable) {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableNvidia = cfg.nvidia.enable;
|
enableNvidia = cfg.nvidia.enable;
|
||||||
|
|||||||
@@ -3,9 +3,8 @@
|
|||||||
./amdgpu.nix
|
./amdgpu.nix
|
||||||
./bluetooth.nix
|
./bluetooth.nix
|
||||||
./fingerprint.nix
|
./fingerprint.nix
|
||||||
./input
|
|
||||||
./pinetab2.nix
|
|
||||||
./sound.nix
|
./sound.nix
|
||||||
|
./input
|
||||||
];
|
];
|
||||||
|
|
||||||
hardware.enableAllFirmware = lib.mkDefault true;
|
hardware.enableAllFirmware = lib.mkDefault true;
|
||||||
|
|||||||
@@ -7,11 +7,8 @@ with lib; let
|
|||||||
cfg = config.mySystem.hardware.input.opentablet;
|
cfg = config.mySystem.hardware.input.opentablet;
|
||||||
in {
|
in {
|
||||||
options.mySystem.hardware.input.opentablet.enable = mkEnableOption "Enables OpenTablet drivers";
|
options.mySystem.hardware.input.opentablet.enable = mkEnableOption "Enables OpenTablet drivers";
|
||||||
config = mkIf cfg.enable {
|
config.hardware.opentabletdriver = mkIf cfg.enable {
|
||||||
hardware.opentabletdriver = {
|
|
||||||
inherit (cfg) enable;
|
inherit (cfg) enable;
|
||||||
daemon.enable = true;
|
daemon.enable = true;
|
||||||
};
|
};
|
||||||
boot.kernelModules = ["wacom"];
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
with lib; let
|
|
||||||
cfg = config.mySystem.hardware.pinetab2;
|
|
||||||
in {
|
|
||||||
options.mySystem.hardware.pinetab2.enable = mkEnableOption "Activate support for the PineTab2";
|
|
||||||
config = {
|
|
||||||
boot.kernelParams = ["console=tty0" "console=ttyS2,1500000n8" "rootwait" "root=LABEL=NIXOS_SD" "rw"];
|
|
||||||
hardware.sensor.iio.enable = true;
|
|
||||||
services.avahi = {
|
|
||||||
enable = true;
|
|
||||||
openFirewall = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -9,7 +9,6 @@ with lib; let
|
|||||||
in {
|
in {
|
||||||
options.mySystem.hardware.sound = {
|
options.mySystem.hardware.sound = {
|
||||||
enable = mkEnableOption "Whether to enable sounds with Pipewire";
|
enable = mkEnableOption "Whether to enable sounds with Pipewire";
|
||||||
noisetorch = mkEnableOption "Whether to activate noisetorch support";
|
|
||||||
scarlett.enable = mkEnableOption "Activate support for Scarlett sound card";
|
scarlett.enable = mkEnableOption "Activate support for Scarlett sound card";
|
||||||
alsa = mkOption {
|
alsa = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
@@ -33,8 +32,7 @@ in {
|
|||||||
|
|
||||||
config = {
|
config = {
|
||||||
environment.systemPackages = mkIf cfg.scarlett.enable [pkgs.alsa-scarlett-gui];
|
environment.systemPackages = mkIf cfg.scarlett.enable [pkgs.alsa-scarlett-gui];
|
||||||
services = {
|
services.pipewire = mkIf cfg.enable {
|
||||||
pipewire = mkIf cfg.enable {
|
|
||||||
enable = true;
|
enable = true;
|
||||||
alsa = mkIf cfg.alsa {
|
alsa = mkIf cfg.alsa {
|
||||||
enable = mkDefault true;
|
enable = mkDefault true;
|
||||||
@@ -42,10 +40,8 @@ in {
|
|||||||
};
|
};
|
||||||
jack.enable = mkDefault cfg.jack;
|
jack.enable = mkDefault cfg.jack;
|
||||||
};
|
};
|
||||||
pulseaudio.enable = false;
|
|
||||||
};
|
|
||||||
programs.noisetorch = mkIf cfg.enable {
|
programs.noisetorch = mkIf cfg.enable {
|
||||||
enable = cfg.noisetorch;
|
inherit (cfg) enable;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,55 +0,0 @@
|
|||||||
{
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
with lib; let
|
|
||||||
cfg = config.mySystem.misc;
|
|
||||||
in {
|
|
||||||
options.mySystem.misc = {
|
|
||||||
timezone = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "Europe/Paris";
|
|
||||||
};
|
|
||||||
keymap = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "fr";
|
|
||||||
example = "fr-bepo";
|
|
||||||
description = "Keymap to use in the TTY console";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = {
|
|
||||||
boot.tmp.cleanOnBoot = true;
|
|
||||||
console.keyMap = cfg.keymap;
|
|
||||||
time.timeZone = cfg.timezone;
|
|
||||||
environment.pathsToLink = [
|
|
||||||
"/share/bash-completion"
|
|
||||||
"/share/zsh"
|
|
||||||
];
|
|
||||||
services = {
|
|
||||||
orca.enable = false;
|
|
||||||
envfs.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
nix.settings = {
|
|
||||||
substituters = [
|
|
||||||
"http://marpa:5000?priority=5"
|
|
||||||
"https://phundrak.cachix.org?priority=10"
|
|
||||||
"https://nix-community.cachix.org?priority=20"
|
|
||||||
"https://cache.nixos.org?priority=40"
|
|
||||||
];
|
|
||||||
trusted-public-keys = [
|
|
||||||
"marpa-local:XoO+dFN4PeauF52pYuy3Vh4Sdtl2qIdxu5aUasWKv6Q="
|
|
||||||
"phundrak.cachix.org-1:osJAkYO0ioTOPqaQCIXMfIRz1/+YYlVFkup3R2KSexk="
|
|
||||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
|
||||||
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
|
||||||
];
|
|
||||||
http-connections = 128;
|
|
||||||
experimental-features = [
|
|
||||||
"nix-command"
|
|
||||||
"flakes"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -51,20 +51,12 @@ in {
|
|||||||
default = null;
|
default = null;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
wifi.disablePowersave = mkEnableOption ''
|
|
||||||
Disables powersave for Wifi.
|
|
||||||
|
|
||||||
Used mainly for the PineTab2, as leaving WiFi powersave with the bes2600 can cause stability issues.
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config.networking = {
|
config.networking = {
|
||||||
hostName = cfg.hostname; # Define your hostname.
|
hostName = cfg.hostname; # Define your hostname.
|
||||||
hostId = cfg.id;
|
hostId = cfg.id;
|
||||||
networkmanager = {
|
networkmanager.enable = true;
|
||||||
enable = true;
|
|
||||||
wifi.powersave = ! cfg.wifi.disablePowersave;
|
|
||||||
};
|
|
||||||
inherit (cfg) hostFiles domain;
|
inherit (cfg) hostFiles domain;
|
||||||
firewall = {
|
firewall = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -11,8 +11,12 @@ in {
|
|||||||
enable = mkEnableOption "Enable Flatpak support";
|
enable = mkEnableOption "Enable Flatpak support";
|
||||||
builder.enable = mkEnableOption "Enable Flatpak builder";
|
builder.enable = mkEnableOption "Enable Flatpak builder";
|
||||||
};
|
};
|
||||||
config = mkIf cfg.enable {
|
config = {
|
||||||
environment.systemPackages = lists.optional cfg.builder.enable pkgs.flatpak-builder;
|
services.flatpak = mkIf cfg.enable {
|
||||||
services.flatpak.enable = true;
|
inherit (cfg) enable;
|
||||||
|
};
|
||||||
|
environment.systemPackages = mkIf cfg.builder.enable [
|
||||||
|
pkgs.flatpak-buildR
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ in {
|
|||||||
trusted-users = mkOption {
|
trusted-users = mkOption {
|
||||||
type = types.listOf types.str;
|
type = types.listOf types.str;
|
||||||
example = ["alice" "bob"];
|
example = ["alice" "bob"];
|
||||||
default = ["@wheel" "root"];
|
default = [];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -2,5 +2,4 @@
|
|||||||
imports = [
|
imports = [
|
||||||
./sops.nix
|
./sops.nix
|
||||||
];
|
];
|
||||||
security.rtkit.enable = true;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,20 +10,13 @@ in {
|
|||||||
options.mySystem.users.phundrak = {
|
options.mySystem.users.phundrak = {
|
||||||
enable = mkEnableOption "Enables user phundrak";
|
enable = mkEnableOption "Enables user phundrak";
|
||||||
trusted = mkEnableOption "Mark the user as trusted by Nix";
|
trusted = mkEnableOption "Mark the user as trusted by Nix";
|
||||||
extraGroups = mkOption {
|
|
||||||
type = types.listOf types.str;
|
|
||||||
default = [];
|
|
||||||
example = ["feedbackd"];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
users.users.phundrak = mkIf cfg.enable {
|
users.users.phundrak = mkIf cfg.enable {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "Lucien Cartier-Tilet";
|
description = "Lucien Cartier-Tilet";
|
||||||
extraGroups =
|
extraGroups = ["networkmanager" "wheel" "docker" "dialout" "podman" "plugdev" "games" "audio" "input"];
|
||||||
["networkmanager" "wheel" "dialout" "plugdev" "games" "audio" "input"]
|
|
||||||
++ cfg.extraGroups;
|
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
openssh.authorizedKeys.keyFiles = lib.filesystem.listFilesRecursive ../../users/phundrak/keys;
|
openssh.authorizedKeys.keyFiles = lib.filesystem.listFilesRecursive ../../users/phundrak/keys;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,23 +0,0 @@
|
|||||||
{pkgs, ...}:
|
|
||||||
pkgs.writeShellScriptBin "app-launcher" ''
|
|
||||||
LOG_FILE="$HOME/.local/share/app-launcher.log"
|
|
||||||
|
|
||||||
logger() {
|
|
||||||
local level="$1"
|
|
||||||
local message="$2"
|
|
||||||
local timestamp
|
|
||||||
timestamp=$(date +"%Y-%m-%d %H:%M:%S")
|
|
||||||
printf "[%s] [%-7s] %s\n" "$timestamp" "''${level^^}" "$message" >> "$LOG_FILE"
|
|
||||||
}
|
|
||||||
|
|
||||||
CAELESTIA_ACTIVE=$(systemctl --user is-active caelestia.service)
|
|
||||||
logger debug "Caelestia activity: $CAELESTIA_ACTIVE"
|
|
||||||
|
|
||||||
if systemctl --user is-active caelestia.service | grep 'active' &> /dev/null ; then
|
|
||||||
logger info "Using Caelestia app launcher"
|
|
||||||
caelestia shell drawers toggle launcher || \
|
|
||||||
logger error "failed to launch Caelestia app launcher"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
rofi -show drun
|
|
||||||
''
|
|
||||||
@@ -31,6 +31,6 @@ in {
|
|||||||
dev.fullDesktop = mkDefault cfg.fullDesktop;
|
dev.fullDesktop = mkDefault cfg.fullDesktop;
|
||||||
media.fullDesktop = mkDefault cfg.fullDesktop;
|
media.fullDesktop = mkDefault cfg.fullDesktop;
|
||||||
security.fullDesktop = mkDefault cfg.fullDesktop;
|
security.fullDesktop = mkDefault cfg.fullDesktop;
|
||||||
myServices.fullDesktop = mkDefault cfg.fullDesktop;
|
services.fullDesktop = mkDefault cfg.fullDesktop;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,9 @@ in {
|
|||||||
systemd = {
|
systemd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
target = "graphical-session.target";
|
target = "graphical-session.target";
|
||||||
environment = ["QT3_QPA_PLATFORMTHEME=gtk3"];
|
environment = [
|
||||||
|
"QT3_QPA_PLATFORMTHEME=gtk3"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
settings = {
|
settings = {
|
||||||
paths.wallpaperDir = "~/Pictures/Wallpapers/nord";
|
paths.wallpaperDir = "~/Pictures/Wallpapers/nord";
|
||||||
@@ -25,10 +27,9 @@ in {
|
|||||||
explorer = ["${pkgs.nemo-with-extensions}/bin/nemo"];
|
explorer = ["${pkgs.nemo-with-extensions}/bin/nemo"];
|
||||||
};
|
};
|
||||||
idle = {
|
idle = {
|
||||||
inhibitWhenAudio = true;
|
|
||||||
timeouts = [
|
timeouts = [
|
||||||
{
|
{
|
||||||
timeout = 3600;
|
timeout = 300;
|
||||||
idleAction = "lock";
|
idleAction = "lock";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
@@ -68,11 +69,6 @@ in {
|
|||||||
hibernate = ["systemctl" "hibernate"];
|
hibernate = ["systemctl" "hibernate"];
|
||||||
reboot = ["systemctl" "reboot"];
|
reboot = ["systemctl" "reboot"];
|
||||||
};
|
};
|
||||||
utilities.toasts = {
|
|
||||||
capsLockChanged = false;
|
|
||||||
numLockChanged = false;
|
|
||||||
kbLayoutChanged = false;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
cli = {
|
cli = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ with lib; let
|
|||||||
in {
|
in {
|
||||||
imports = [
|
imports = [
|
||||||
./caelestia.nix
|
./caelestia.nix
|
||||||
|
./eww.nix
|
||||||
./firefox.nix
|
./firefox.nix
|
||||||
./hyprland.nix
|
./hyprland.nix
|
||||||
./kdeconnect.nix
|
./kdeconnect.nix
|
||||||
@@ -25,6 +26,7 @@ in {
|
|||||||
|
|
||||||
options.home.desktop.fullDesktop = mkEnableOption "Enable options for graphical environments";
|
options.home.desktop.fullDesktop = mkEnableOption "Enable options for graphical environments";
|
||||||
config.home.desktop = {
|
config.home.desktop = {
|
||||||
|
eww.enable = mkDefault cfg.fullDesktop;
|
||||||
firefox.enable = mkDefault cfg.fullDesktop;
|
firefox.enable = mkDefault cfg.fullDesktop;
|
||||||
hyprland.enable = mkDefault cfg.fullDesktop;
|
hyprland.enable = mkDefault cfg.fullDesktop;
|
||||||
kdeconnect.enable = mkDefault cfg.fullDesktop;
|
kdeconnect.enable = mkDefault cfg.fullDesktop;
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
(defwindow example
|
||||||
|
:monitor 0
|
||||||
|
:geometry (geometry :x "0%"
|
||||||
|
:y "20%"
|
||||||
|
:width "90%"
|
||||||
|
:height "30px"
|
||||||
|
:anchor "top center")
|
||||||
|
:stacking "fg"
|
||||||
|
:reserve (struts :distance "40px" :side "top")
|
||||||
|
:windowtype "dock"
|
||||||
|
:wm-ignore false
|
||||||
|
"example content")
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.home.desktop.eww;
|
||||||
|
in {
|
||||||
|
options.home.desktop.eww.enable = mkEnableOption "Enable eww support";
|
||||||
|
config.programs.eww = mkIf cfg.enable {
|
||||||
|
inherit (cfg) enable;
|
||||||
|
configDir = ./eww-config;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -45,7 +45,6 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home.sessionVariables.MOZ_ENABLE_WAYLAND = "1";
|
|
||||||
programs.firefox = {
|
programs.firefox = {
|
||||||
inherit (cfg) enable;
|
inherit (cfg) enable;
|
||||||
package =
|
package =
|
||||||
@@ -53,7 +52,6 @@ in {
|
|||||||
then zen
|
then zen
|
||||||
else pkgs.firefox;
|
else pkgs.firefox;
|
||||||
nativeMessagingHosts = lists.optional cfg.tridactyl.enable pkgs.tridactyl-native;
|
nativeMessagingHosts = lists.optional cfg.tridactyl.enable pkgs.tridactyl-native;
|
||||||
configPath = ".mozilla/firefox";
|
|
||||||
};
|
};
|
||||||
xdg.configFile."tridactyl/tridactylrc" = mkIf cfg.tridactyl.enable {
|
xdg.configFile."tridactyl/tridactylrc" = mkIf cfg.tridactyl.enable {
|
||||||
text = concatStringsSep "\n" (filter (s: s != "") [
|
text = concatStringsSep "\n" (filter (s: s != "") [
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ in {
|
|||||||
services.blueman-applet.enable = ! caelestiaEnabled;
|
services.blueman-applet.enable = ! caelestiaEnabled;
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
systemd.enable = true;
|
systemd.enable = false;
|
||||||
importantPrefixes = ["$left" "$right" "$up" "$down" "$menu"];
|
importantPrefixes = ["$left" "$right" "$up" "$down" "$menu"];
|
||||||
settings = {
|
settings = {
|
||||||
env = [
|
env = [
|
||||||
@@ -62,15 +62,10 @@ in {
|
|||||||
touchpad.natural_scroll = false;
|
touchpad.natural_scroll = false;
|
||||||
sensitivity = "0";
|
sensitivity = "0";
|
||||||
};
|
};
|
||||||
device = {
|
|
||||||
name = "wacom-usb-bamboo-pad-finger";
|
|
||||||
sensitivity = 0.5;
|
|
||||||
};
|
|
||||||
monitor =
|
monitor =
|
||||||
{
|
{
|
||||||
"marpa" = [
|
"marpa" = [
|
||||||
"DP-1, 3440x1440@144, 1080x550, 1"
|
"DP-1, 3440x1440@144, 1080x550, 1"
|
||||||
# "DP-1, 2560x1440@144, 1080x550, 1" # streaming
|
|
||||||
"DP-2, 2560x1080@60, 0x0, 1, transform, 1"
|
"DP-2, 2560x1080@60, 0x0, 1, transform, 1"
|
||||||
];
|
];
|
||||||
"gampo" = [];
|
"gampo" = [];
|
||||||
@@ -88,9 +83,8 @@ in {
|
|||||||
new_status = "inherit";
|
new_status = "inherit";
|
||||||
};
|
};
|
||||||
workspace = [
|
workspace = [
|
||||||
"1, layoutopt:orientation:bottom"
|
|
||||||
"9, layoutopt:orientation:bottom"
|
|
||||||
"10, layoutopt:orientation:bottom"
|
"10, layoutopt:orientation:bottom"
|
||||||
|
"1, layoutopt:orientation:bottom"
|
||||||
];
|
];
|
||||||
decoration = {
|
decoration = {
|
||||||
rounding = 20;
|
rounding = 20;
|
||||||
@@ -106,7 +100,10 @@ in {
|
|||||||
"workspaces, 1, 6, default"
|
"workspaces, 1, 6, default"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
dwindle.preserve_split = true;
|
dwindle = {
|
||||||
|
pseudotile = true;
|
||||||
|
preserve_split = true;
|
||||||
|
};
|
||||||
exec-once =
|
exec-once =
|
||||||
[
|
[
|
||||||
"pactl load-module module-switch-on-connect"
|
"pactl load-module module-switch-on-connect"
|
||||||
@@ -118,12 +115,6 @@ in {
|
|||||||
++ lib.lists.optional (! caelestiaEnabled) "${pkgs.networkmanagerapplet}/bin/nm-applet";
|
++ lib.lists.optional (! caelestiaEnabled) "${pkgs.networkmanagerapplet}/bin/nm-applet";
|
||||||
};
|
};
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
device {
|
|
||||||
name = wacom-usb-bamboo-pad-finger
|
|
||||||
sensitivity = 0.5
|
|
||||||
accel_profile = adaptive
|
|
||||||
}
|
|
||||||
|
|
||||||
$left = c
|
$left = c
|
||||||
$right = r
|
$right = r
|
||||||
$up = s
|
$up = s
|
||||||
|
|||||||
@@ -29,86 +29,84 @@ in {
|
|||||||
detect_urls = true;
|
detect_urls = true;
|
||||||
background_opacity = 0.7;
|
background_opacity = 0.7;
|
||||||
};
|
};
|
||||||
keybindings = let
|
keybindings = {
|
||||||
prefix = "kitty_mod+space";
|
|
||||||
in {
|
|
||||||
"alt+c" = "copy_to_clipboard";
|
"alt+c" = "copy_to_clipboard";
|
||||||
"kitty_mod+c" = "copy_to_clipboard";
|
"kitty_mod+c" = "copy_to_clipboard";
|
||||||
"alt+v" = "paste_from_clipboard";
|
"alt+v" = "paste_from_clipboard";
|
||||||
"kitty_mod+v" = "paste_from_clipboard";
|
"kitty_mod+v" = "paste_from_clipboard";
|
||||||
|
|
||||||
"${prefix}>s>c" = "show_scrollback";
|
"kitty_mod+s>c" = "show_scrollback";
|
||||||
"${prefix}>s>down" = "scroll_line_down";
|
"kitty_mod+s>down" = "scroll_line_down";
|
||||||
"${prefix}>s>t" = "scroll_line_down";
|
"kitty_mod+s>t" = "scroll_line_down";
|
||||||
"${prefix}>s>up" = "scroll_line_up";
|
"kitty_mod+s>up" = "scroll_line_up";
|
||||||
"${prefix}>s>s" = "scroll_line_up";
|
"kitty_mod+s>s" = "scroll_line_up";
|
||||||
"${prefix}>s>end" = "scroll_end";
|
"kitty_mod+s>end" = "scroll_end";
|
||||||
"${prefix}>s>home" = "scroll_home";
|
"kitty_mod+s>home" = "scroll_home";
|
||||||
"${prefix}>s>page_down" = "scroll_page_down";
|
"kitty_mod+s>page_down" = "scroll_page_down";
|
||||||
"${prefix}>s>page_up" = "scroll_page_up";
|
"kitty_mod+s>page_up" = "scroll_page_up";
|
||||||
|
|
||||||
"${prefix}>enter" = "new_window";
|
"kitty_mod+enter" = "new_window";
|
||||||
"${prefix}>w>q" = "close_window";
|
"kitty_mod+w>q" = "close_window";
|
||||||
"${prefix}>w>p" = "next_window";
|
"kitty_mod+w>p" = "next_window";
|
||||||
"${prefix}>w>n" = "previous_window";
|
"kitty_mod+w>n" = "previous_window";
|
||||||
"${prefix}>w>f" = "move_window_forward";
|
"kitty_mod+w>f" = "move_window_forward";
|
||||||
"${prefix}>w>b" = "move_window_backward";
|
"kitty_mod+w>b" = "move_window_backward";
|
||||||
"${prefix}>w>t" = "move_window_to_top";
|
"kitty_mod+w>t" = "move_window_to_top";
|
||||||
"${prefix}>w>r" = "start_resizing_window";
|
"kitty_mod+w>r" = "start_resizing_window";
|
||||||
"${prefix}>w>1" = "first_window";
|
"kitty_mod+w>1" = "first_window";
|
||||||
"${prefix}>w>2" = "second_window";
|
"kitty_mod+w>2" = "second_window";
|
||||||
"${prefix}>w>3" = "third_window";
|
"kitty_mod+w>3" = "third_window";
|
||||||
"${prefix}>w>4" = "fourth_window";
|
"kitty_mod+w>4" = "fourth_window";
|
||||||
"${prefix}>w>5" = "fifth_window";
|
"kitty_mod+w>5" = "fifth_window";
|
||||||
"${prefix}>w>6" = "sixth_window";
|
"kitty_mod+w>6" = "sixth_window";
|
||||||
"${prefix}>w>7" = "seventh_window";
|
"kitty_mod+w>7" = "seventh_window";
|
||||||
"${prefix}>w>8" = "eighth_window";
|
"kitty_mod+w>8" = "eighth_window";
|
||||||
"${prefix}>w>9" = "ninth_window";
|
"kitty_mod+w>9" = "ninth_window";
|
||||||
"${prefix}>w>0" = "tenth_window";
|
"kitty_mod+w>0" = "tenth_window";
|
||||||
|
|
||||||
"${prefix}>tab>n" = "next_tab";
|
"kitty_mod+tab>n" = "next_tab";
|
||||||
"${prefix}>tab>p" = "previous_tab";
|
"kitty_mod+tab>p" = "previous_tab";
|
||||||
"${prefix}>tab>c" = "new_tab";
|
"kitty_mod+tab>c" = "new_tab";
|
||||||
"${prefix}>tab>q" = "close_tab";
|
"kitty_mod+tab>q" = "close_tab";
|
||||||
"${prefix}>tab>shift+n" = "move_tab_backward";
|
"kitty_mod+tab>shift+n" = "move_tab_backward";
|
||||||
"${prefix}>tab>shift+p" = "move_tab_forward";
|
"kitty_mod+tab>shift+p" = "move_tab_forward";
|
||||||
"${prefix}>tab>t" = "set_tab_title";
|
"kitty_mod+tab>t" = "set_tab_title";
|
||||||
|
|
||||||
"${prefix}>l" = "next_layout";
|
"kitty_mod+l" = "next_layout";
|
||||||
|
|
||||||
"${prefix}>f>equal" = "change_font_size all 0";
|
"kitty_mod+f>equal" = "change_font_size all 0";
|
||||||
"${prefix}>f>kp_add" = "change_font_size all +2.0";
|
"kitty_mod+f>kp_add" = "change_font_size all +2.0";
|
||||||
"${prefix}>f>plus" = "change_font_size all +2.0";
|
"kitty_mod+f>plus" = "change_font_size all +2.0";
|
||||||
"${prefix}>f>kp_subtract" = "change_font_size all -2.0";
|
"kitty_mod+f>kp_subtract" = "change_font_size all -2.0";
|
||||||
"${prefix}>f>minus" = "change_font_size all -2.0";
|
"kitty_mod+f>minus" = "change_font_size all -2.0";
|
||||||
|
|
||||||
"${prefix}>shift+h" = "kitten hints";
|
"kitty_mod+shift+h" = "kitten hints";
|
||||||
"${prefix}>h>p" = "kitten hints --type path --program -";
|
"kitty_mod+h>p" = "kitten hints --type path --program -";
|
||||||
"${prefix}>h>shift+p" = "kitten hints --type path";
|
"kitty_mod+h>shift+p" = "kitten hints --type path";
|
||||||
"${prefix}>h>l" = "kitten hints --type line --program -";
|
"kitty_mod+h>l" = "kitten hints --type line --program -";
|
||||||
"${prefix}>h>w" = "kitten hints --type word --program -";
|
"kitty_mod+h>w" = "kitten hints --type word --program -";
|
||||||
"${prefix}>h>h" = "kitten hints --type hash --program -";
|
"kitty_mod+h>h" = "kitten hints --type hash --program -";
|
||||||
"${prefix}>h>n" = "kitten hints --type linenum";
|
"kitty_mod+h>n" = "kitten hints --type linenum";
|
||||||
"${prefix}>h>y" = "kitten hints --type hyperlink";
|
"kitty_mod+h>y" = "kitten hints --type hyperlink";
|
||||||
|
|
||||||
"${prefix}>f10" = "toggle_maximized";
|
"kitty_mod+f10" = "toggle_maximized";
|
||||||
"${prefix}>f11" = "toggle_fullscreen";
|
"kitty_mod+f11" = "toggle_fullscreen";
|
||||||
|
|
||||||
"${prefix}>a>equal" = "set_background_opacity 1";
|
"kitty_mod+a>equal" = "set_background_opacity 1";
|
||||||
"${prefix}>a>d" = "set_background_opacity default";
|
"kitty_mod+a>d" = "set_background_opacity default";
|
||||||
"${prefix}>a>plus" = "set_background_opacity +0.1";
|
"kitty_mod+a>plus" = "set_background_opacity +0.1";
|
||||||
"${prefix}>a>up" = "set_background_opacity +0.1";
|
"kitty_mod+a>up" = "set_background_opacity +0.1";
|
||||||
"${prefix}>a>kp_add" = "set_background_opacity +0.1";
|
"kitty_mod+a>kp_add" = "set_background_opacity +0.1";
|
||||||
"${prefix}>a>minus" = "set_background_opacity -0.1";
|
"kitty_mod+a>minus" = "set_background_opacity -0.1";
|
||||||
"${prefix}>a>down" = "set_background_opacity -0.1";
|
"kitty_mod+a>down" = "set_background_opacity -0.1";
|
||||||
"${prefix}>a>kp_substract" = "set_background_opacity -0.1";
|
"kitty_mod+a>kp_substract" = "set_background_opacity -0.1";
|
||||||
|
|
||||||
"${prefix}>delete" = "clear_terminal reset active";
|
"kitty_mod+delete" = "clear_terminal reset active";
|
||||||
"${prefix}>escape" = "kitty_shell window";
|
"kitty_mod+escape" = "kitty_shell window";
|
||||||
"${prefix}>f2" = "edit_config_file";
|
"kitty_mod+f2" = "edit_config_file";
|
||||||
"${prefix}>n" = "new_os_window";
|
"kitty_mod+n" = "new_os_window";
|
||||||
"${prefix}>o" = "pass_selection_to_program";
|
"kitty_mod+o" = "pass_selection_to_program";
|
||||||
"${prefix}>u" = "kitten unicode_input";
|
"kitty_mod+u" = "kitten unicode_input";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,6 @@
|
|||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.home.desktop.obs;
|
cfg = config.home.desktop.obs;
|
||||||
obs-image-reaction = pkgs.callPackage ../../../packages/obs-image-reaction.nix {};
|
|
||||||
in {
|
in {
|
||||||
options.home.desktop.obs.enable = mkEnableOption "Enables OBS Studio";
|
options.home.desktop.obs.enable = mkEnableOption "Enables OBS Studio";
|
||||||
config.programs.obs-studio = mkIf cfg.enable {
|
config.programs.obs-studio = mkIf cfg.enable {
|
||||||
@@ -14,14 +13,11 @@ in {
|
|||||||
plugins = with pkgs.obs-studio-plugins; [
|
plugins = with pkgs.obs-studio-plugins; [
|
||||||
input-overlay
|
input-overlay
|
||||||
obs-backgroundremoval
|
obs-backgroundremoval
|
||||||
obs-markdown
|
|
||||||
obs-mute-filter
|
obs-mute-filter
|
||||||
obs-pipewire-audio-capture
|
obs-pipewire-audio-capture
|
||||||
obs-scale-to-sound
|
|
||||||
obs-source-clone
|
obs-source-clone
|
||||||
obs-source-record
|
obs-source-record
|
||||||
obs-tuna
|
obs-tuna
|
||||||
obs-image-reaction
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
inputs,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
@@ -11,7 +12,6 @@ in {
|
|||||||
imports = [
|
imports = [
|
||||||
./claude.nix
|
./claude.nix
|
||||||
./ollama.nix
|
./ollama.nix
|
||||||
./opencode.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
options.home.dev.ai = {
|
options.home.dev.ai = {
|
||||||
@@ -29,9 +29,11 @@ in {
|
|||||||
mcpServers = mkDefault cfg.mcpServers;
|
mcpServers = mkDefault cfg.mcpServers;
|
||||||
};
|
};
|
||||||
ollama.enable = mkDefault cfg.enable;
|
ollama.enable = mkDefault cfg.enable;
|
||||||
opencode.enable = mkDefault cfg.enable;
|
|
||||||
};
|
};
|
||||||
packages = [pkgs.lmstudio];
|
packages = let
|
||||||
|
inherit (pkgs.stdenv.hostPlatform) system;
|
||||||
|
inherit (inputs.opencode.packages.${system}) opencode;
|
||||||
|
in [pkgs.lmstudio opencode];
|
||||||
};
|
};
|
||||||
programs.mcp = mkIf (cfg.mcpServers != {}) {
|
programs.mcp = mkIf (cfg.mcpServers != {}) {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -1,85 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
inputs,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
with lib; let
|
|
||||||
inherit (pkgs.stdenv.hostPlatform) system;
|
|
||||||
cfg = config.home.dev.ai.opencode;
|
|
||||||
defaultPackageCli = inputs.opencode.packages.${system}.opencode;
|
|
||||||
defaultPackageDesktop = inputs.opencode.packages.${system}.desktop;
|
|
||||||
corsList = domains: lists.remove "" (lists.forEach (strings.splitString "," domains) trim);
|
|
||||||
in {
|
|
||||||
options.home.dev.ai.opencode = {
|
|
||||||
enable = mkEnableOption "Enables OpenCode";
|
|
||||||
package = mkOption {
|
|
||||||
type = types.package;
|
|
||||||
default = defaultPackageCli;
|
|
||||||
description = "The CLI package for OpenCode";
|
|
||||||
};
|
|
||||||
settings = mkOption {
|
|
||||||
type = types.json;
|
|
||||||
default = {};
|
|
||||||
};
|
|
||||||
tui = mkOption {
|
|
||||||
type = types.json;
|
|
||||||
default = {};
|
|
||||||
};
|
|
||||||
desktop = {
|
|
||||||
enable = mkEnableOption "Enables the desktop app";
|
|
||||||
package = mkOption {
|
|
||||||
type = types.package;
|
|
||||||
default = defaultPackageDesktop;
|
|
||||||
description = "The desktop package for OpenCode";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
web = {
|
|
||||||
enable = mkEnableOption "Enables OpenCode web";
|
|
||||||
extraArgs = mkOption {
|
|
||||||
type = types.listOf types.str;
|
|
||||||
default = [];
|
|
||||||
example = [
|
|
||||||
"--hostname"
|
|
||||||
"0.0.0.0"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
cors = mkOption {
|
|
||||||
type = types.nullOr (types.either types.str types.path);
|
|
||||||
default = null;
|
|
||||||
example = "opencode.example.com,code.example.com";
|
|
||||||
description = ''
|
|
||||||
Either a string containing the domain allowed to connect to OpenCode’s web instance, or a file containing the target value. The latter is useful when using secret management if you don’t want to publicize the hostname of your OpenCode instance.
|
|
||||||
|
|
||||||
If you want to use multiple domains, you can separate them with a comma.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
mdns = {
|
|
||||||
enable = mkEnableOption "Enables mDNS with OpenCode";
|
|
||||||
hostname = mkOption {
|
|
||||||
type = types.nullOr types.str;
|
|
||||||
default = null;
|
|
||||||
example = "opencode.local";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
config.programs.opencode = mkIf cfg.enable {
|
|
||||||
inherit (cfg) enable tui;
|
|
||||||
enableMcpIntegration = true;
|
|
||||||
extraPackages = with pkgs; [uv];
|
|
||||||
settings =
|
|
||||||
{
|
|
||||||
server = mkIf cfg.web.mdns.enable {
|
|
||||||
mdns = true;
|
|
||||||
mdnsDomain = mkIf (cfg.web.mdns.hostname != null) cfg.web.mdns.hostname;
|
|
||||||
cors = corsList cfg.web.cors;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
// cfg.settings;
|
|
||||||
web = {
|
|
||||||
inherit (cfg.web) enable extraArgs;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -40,12 +40,6 @@ in {
|
|||||||
enable = mkEnableOption "Enables jj-cz";
|
enable = mkEnableOption "Enables jj-cz";
|
||||||
alias = mkEnableOption "Enable `jj cz` as an alias to `jj-cz`";
|
alias = mkEnableOption "Enable `jj cz` as an alias to `jj-cz`";
|
||||||
};
|
};
|
||||||
# used in my shell .nix files
|
|
||||||
shellCompletion = mkOption {
|
|
||||||
description = "Enable Jujutsu shell completion";
|
|
||||||
type = types.bool;
|
|
||||||
default = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|||||||
@@ -11,8 +11,6 @@ in {
|
|||||||
./mpd.nix
|
./mpd.nix
|
||||||
./mpd-mpris.nix
|
./mpd-mpris.nix
|
||||||
./mpv.nix
|
./mpv.nix
|
||||||
./ncmpcpp.nix
|
|
||||||
./streamlink.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
options.home.media.fullDesktop = mkEnableOption "Enables everything";
|
options.home.media.fullDesktop = mkEnableOption "Enables everything";
|
||||||
@@ -20,7 +18,5 @@ in {
|
|||||||
mopidy.enable = mkDefault cfg.fullDesktop;
|
mopidy.enable = mkDefault cfg.fullDesktop;
|
||||||
mpd.enable = mkDefault (cfg.fullDesktop or cfg.mpd-mpris.enable);
|
mpd.enable = mkDefault (cfg.fullDesktop or cfg.mpd-mpris.enable);
|
||||||
mpv.enable = mkDefault cfg.fullDesktop;
|
mpv.enable = mkDefault cfg.fullDesktop;
|
||||||
ncmpcpp.enable = mkDefault config.home.media.mpd.enable;
|
|
||||||
streamlink.enable = mkDefault config.home.media.mpv.enable;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,11 +19,6 @@ in {
|
|||||||
bind_to_address "localhost"
|
bind_to_address "localhost"
|
||||||
auto_update "yes"
|
auto_update "yes"
|
||||||
|
|
||||||
audio_output {
|
|
||||||
type "pipewire"
|
|
||||||
name "PipeWire"
|
|
||||||
}
|
|
||||||
|
|
||||||
audio_output {
|
audio_output {
|
||||||
type "fifo"
|
type "fifo"
|
||||||
name "my_fifo"
|
name "my_fifo"
|
||||||
|
|||||||
@@ -1,87 +0,0 @@
|
|||||||
{
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
with lib; let
|
|
||||||
cfg = config.home.media.ncmpcpp;
|
|
||||||
in {
|
|
||||||
options.home.media.ncmpcpp.enable = mkEnableOption "Enable ncmpcpp";
|
|
||||||
config.programs.ncmpcpp = let
|
|
||||||
musicDir = config.services.mpd.musicDirectory;
|
|
||||||
in
|
|
||||||
mkIf cfg.enable {
|
|
||||||
inherit (cfg) enable;
|
|
||||||
mpdMusicDir = musicDir;
|
|
||||||
settings = {
|
|
||||||
# directories
|
|
||||||
ncmpcpp_directory = "${config.home.homeDirectory}/.config/ncmpcpp";
|
|
||||||
lyrics_directory = "${musicDir}/.lyrics";
|
|
||||||
|
|
||||||
# MPD
|
|
||||||
mpd_host = "localhost";
|
|
||||||
mpd_port = 6600;
|
|
||||||
mpd_connection_timeout = 5;
|
|
||||||
mpd_crossfade_time = 0;
|
|
||||||
|
|
||||||
# music visualizer
|
|
||||||
visualizer_output_name = "my_fifo";
|
|
||||||
visualizer_in_stereo = "yes";
|
|
||||||
# visualizer_type = "spectrum";
|
|
||||||
visualizer_look = "+|";
|
|
||||||
visualizer_color = "blue, cyan, green, yellow, magenta, red";
|
|
||||||
|
|
||||||
system_encoding = "UTF-8";
|
|
||||||
|
|
||||||
# song format
|
|
||||||
song_list_format = "(6)[]{} (23)[red]{a} (26)[yellow]{t|f} (40)[green]{b} (4)[blue]{l}";
|
|
||||||
now_playing_prefix = "$b";
|
|
||||||
now_playing_suffix = "$8$/b";
|
|
||||||
|
|
||||||
# columns settings
|
|
||||||
song_columns_list_format = "(6)[]{} (23)[red]{a} (26)[yellow]{t|f} (40)[green]{b} (4)[blue]{l}";
|
|
||||||
|
|
||||||
playlist_shorten_total_times = "yes";
|
|
||||||
playlist_display_mode = "columns";
|
|
||||||
browser_display_mode = "columns";
|
|
||||||
search_engine_display_mode = "columns";
|
|
||||||
playlist_editor_display_mode = "columns";
|
|
||||||
autocenter_mode = "yes";
|
|
||||||
centered_cursor = "yes";
|
|
||||||
|
|
||||||
progressbar_look = "─> ";
|
|
||||||
header_visibility = "no";
|
|
||||||
statusbar_visibility = "no";
|
|
||||||
titles_visibility = "no";
|
|
||||||
allow_for_physical_item_deletion = "yes";
|
|
||||||
|
|
||||||
lastfm_preferred_language = "en";
|
|
||||||
space_add_mode = "add_remove";
|
|
||||||
|
|
||||||
locked_screen_width_part = "50";
|
|
||||||
ask_for_locked_screen_width_part = "yes";
|
|
||||||
jump_to_now_playing_song_at_start = "yes";
|
|
||||||
ask_before_clearing_playlists = "yes";
|
|
||||||
clock_display_seconds = "no";
|
|
||||||
display_volume_level = "yes";
|
|
||||||
display_bitrate = "no";
|
|
||||||
display_remaining_time = "yes";
|
|
||||||
regular_expressions = "extended";
|
|
||||||
ignore_leading_the = "yes";
|
|
||||||
ignore_diacritics = "yes";
|
|
||||||
mouse_support = "no";
|
|
||||||
tags_separator = ";";
|
|
||||||
enable_window_title = "yes";
|
|
||||||
search_engine_default_search_mode = 1;
|
|
||||||
external_editor = "emacsclient -c";
|
|
||||||
use_console_editor = "yes";
|
|
||||||
|
|
||||||
# colours
|
|
||||||
colors_enabled = "yes";
|
|
||||||
volume_color = "default";
|
|
||||||
progressbar_color = "black";
|
|
||||||
progressbar_elapsed_color = "white";
|
|
||||||
statusbar_color = "white";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
{
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
with lib; let
|
|
||||||
cfg = config.home.media.streamlink;
|
|
||||||
in {
|
|
||||||
options.home.media.streamlink.enable = mkEnableOption "Enable Streamlink";
|
|
||||||
config.programs.streamlink = mkIf cfg.enable {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
player = "${pkgs.mpv}/bin/mpv";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -4,8 +4,8 @@
|
|||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.home.myServices.blanket;
|
cfg = config.home.services.blanket;
|
||||||
in {
|
in {
|
||||||
options.home.myServices.blanket.enable = mkEnableOption "Enable blanket";
|
options.home.services.blanket.enable = mkEnableOption "Enable blanket";
|
||||||
config.services.blanket.enable = cfg.enable;
|
config.services.blanket.enable = cfg.enable;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.home.myServices;
|
cfg = config.home.services;
|
||||||
in {
|
in {
|
||||||
imports = [
|
imports = [
|
||||||
./blanket.nix
|
./blanket.nix
|
||||||
@@ -12,12 +12,8 @@ in {
|
|||||||
./mpris-proxy.nix
|
./mpris-proxy.nix
|
||||||
./playerctld.nix
|
./playerctld.nix
|
||||||
];
|
];
|
||||||
options.home.myServices.fullDesktop = mkOption {
|
options.home.services.fullDesktop = mkEnableOption "Enable all modules";
|
||||||
description = "Enable all modules";
|
config.home.services = {
|
||||||
type = types.bool;
|
|
||||||
default = config.home.fullDesktop;
|
|
||||||
};
|
|
||||||
config.home.myServices = {
|
|
||||||
blanket.enable = mkDefault cfg.fullDesktop;
|
blanket.enable = mkDefault cfg.fullDesktop;
|
||||||
mbsync.enable = mkDefault cfg.fullDesktop;
|
mbsync.enable = mkDefault cfg.fullDesktop;
|
||||||
mpris-proxy.enable = mkDefault cfg.fullDesktop;
|
mpris-proxy.enable = mkDefault cfg.fullDesktop;
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.home.myServices.mbsync;
|
cfg = config.home.services.mbsync;
|
||||||
in {
|
in {
|
||||||
options.home.myServices.mbsync = {
|
options.home.services.mbsync = {
|
||||||
enable = mkEnableOption "Enables mbsync";
|
enable = mkEnableOption "Enables mbsync";
|
||||||
service.enable = mkOption {
|
service.enable = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
|
|||||||
@@ -4,8 +4,8 @@
|
|||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.home.myServices.mpris-proxy;
|
cfg = config.home.services.mpris-proxy;
|
||||||
in {
|
in {
|
||||||
options.home.myServices.mpris-proxy.enable = mkEnableOption "Enable MPRIS forwarding towards bluetooth and MIDI";
|
options.home.services.mpris-proxy.enable = mkEnableOption "Enable MPRIS forwarding towards bluetooth and MIDI";
|
||||||
config.services.mpris-proxy.enable = cfg.enable;
|
config.services.mpris-proxy.enable = cfg.enable;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,8 +4,8 @@
|
|||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.home.myServices.playerctld;
|
cfg = config.home.services.playerctld;
|
||||||
in {
|
in {
|
||||||
options.home.myServices.playerctld.enable = mkEnableOption "Enable playerctld daemon";
|
options.home.services.playerctld.enable = mkEnableOption "Enable playerctld daemon";
|
||||||
config.services.playerctld.enable = cfg.enable;
|
config.services.playerctld.enable = cfg.enable;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,7 +36,6 @@ in {
|
|||||||
concatLines
|
concatLines
|
||||||
[
|
[
|
||||||
(strings.optionalString cfg.eatIntegration ''[ -n "$EAT_SHELL_INTEGRATION_DIR" ] && source "$EAT_SHELL_INTEGRATION_DIR/bash"'')
|
(strings.optionalString cfg.eatIntegration ''[ -n "$EAT_SHELL_INTEGRATION_DIR" ] && source "$EAT_SHELL_INTEGRATION_DIR/bash"'')
|
||||||
(strings.optionalString config.home.dev.vcs.jj.shellCompletion "source <(jj util completion bash)")
|
|
||||||
cfg.bashrcExtra
|
cfg.bashrcExtra
|
||||||
];
|
];
|
||||||
enableCompletion = cfg.autocompletion;
|
enableCompletion = cfg.autocompletion;
|
||||||
|
|||||||
@@ -97,15 +97,15 @@ in {
|
|||||||
config.home.shell = {
|
config.home.shell = {
|
||||||
enableShellIntegration = cfg.bash.enable or cfg.zsh.enable or cfg.fish.enable;
|
enableShellIntegration = cfg.bash.enable or cfg.zsh.enable or cfg.fish.enable;
|
||||||
bash = {
|
bash = {
|
||||||
aliases = defaultAliases // cfg.aliases;
|
aliases = cfg.aliases // defaultAliases;
|
||||||
enable = mkDefault cfg.fullDesktop;
|
enable = mkDefault cfg.fullDesktop;
|
||||||
};
|
};
|
||||||
fish = {
|
fish = {
|
||||||
abbrs = defaultAliases // cfg.aliases;
|
abbrs = cfg.aliases // defaultAliases;
|
||||||
enable = mkDefault cfg.fullDesktop;
|
enable = mkDefault cfg.fullDesktop;
|
||||||
};
|
};
|
||||||
zsh = {
|
zsh = {
|
||||||
abbrs = defaultAliases // cfg.aliases;
|
abbrs = cfg.aliases // defaultAliases;
|
||||||
enable = mkDefault cfg.fullDesktop;
|
enable = mkDefault cfg.fullDesktop;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -41,7 +41,6 @@ in {
|
|||||||
__fish_default_command_not_found_handler $argv
|
__fish_default_command_not_found_handler $argv
|
||||||
end
|
end
|
||||||
''
|
''
|
||||||
(strings.optionalString config.home.dev.vcs.jj.shellCompletion "jj util completion fish | source")
|
|
||||||
cfg.extraShellInit
|
cfg.extraShellInit
|
||||||
];
|
];
|
||||||
plugins = [
|
plugins = [
|
||||||
|
|||||||
@@ -6,42 +6,8 @@
|
|||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.home.shell.tmux;
|
cfg = config.home.shell.tmux;
|
||||||
keyType = types.submodule {
|
|
||||||
options = {
|
|
||||||
key = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
example = "C-b";
|
|
||||||
};
|
|
||||||
action = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
example = "resize-pane -Z";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in {
|
in {
|
||||||
options.home.shell.tmux = with types; {
|
options.home.shell.tmux.enable = mkEnableOption "Enable tmux";
|
||||||
enable = mkEnableOption "Enable tmux";
|
|
||||||
bind = mkOption {
|
|
||||||
type = attrsOf (listOf keyType);
|
|
||||||
default = {};
|
|
||||||
example = {
|
|
||||||
"prefix" = [
|
|
||||||
{
|
|
||||||
key = "C-r";
|
|
||||||
action = "resize-pane -R";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
unbind = mkOption {
|
|
||||||
type = listOf (either str (attrsOf (listOf str)));
|
|
||||||
default = [];
|
|
||||||
};
|
|
||||||
extraConfig = mkOption {
|
|
||||||
type = types.lines;
|
|
||||||
default = "";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
config.programs.tmux = mkIf cfg.enable {
|
config.programs.tmux = mkIf cfg.enable {
|
||||||
inherit (cfg) enable;
|
inherit (cfg) enable;
|
||||||
baseIndex = 1;
|
baseIndex = 1;
|
||||||
@@ -59,23 +25,71 @@ in {
|
|||||||
sensible
|
sensible
|
||||||
yank
|
yank
|
||||||
];
|
];
|
||||||
extraConfig = let
|
extraConfig = ''
|
||||||
generateBinds = concatLines (
|
set-option -sa terminal-overrides ",xterm*:Tc"
|
||||||
mapAttrsToList (table: keys: concatMapStrings (key: "bind -T ${table} ${key.key} ${key.action}\n") keys) cfg.bind
|
|
||||||
);
|
|
||||||
generateUnbind =
|
|
||||||
concatMapStrings (
|
|
||||||
entry:
|
|
||||||
if builtins.isString entry
|
|
||||||
then "unbind ${entry}\n"
|
|
||||||
else concatStrings (mapAttrsToList (table: keys: concatMapStrings (key: "unbind -T ${table} ${key}\n") keys) entry)
|
|
||||||
)
|
|
||||||
cfg.unbind;
|
|
||||||
in ''
|
|
||||||
${cfg.extraConfig}
|
|
||||||
|
|
||||||
${generateUnbind}
|
unbind C-b
|
||||||
${generateBinds}
|
|
||||||
|
bind-key -T prefix « select-window -p
|
||||||
|
bind-key -T prefix » select-window -n
|
||||||
|
bind-key -T prefix Tab switch-client -T windows
|
||||||
|
bind-key -T prefix w switch-client -T pane
|
||||||
|
bind-key -T prefix y switch-client -T copy-mode
|
||||||
|
|
||||||
|
bind-key -T pane / split-window -h -c "#{pane-current_path}"
|
||||||
|
bind-key -T pane - split-window -v -c "#{pane-current_path}"
|
||||||
|
bind-key -T pane c select-pane -L
|
||||||
|
bind-key -T pane t select-pane -D
|
||||||
|
bind-key -T pane s select-pane -U
|
||||||
|
bind-key -T pane r select-pane -R
|
||||||
|
bind-key -T pane f resize-pane -Z
|
||||||
|
bind-key -T pane . switch-client -T pane-resize
|
||||||
|
|
||||||
|
bind-key -T pane-resize c resize-pane -L 5\; switch-client -T pane-resize
|
||||||
|
bind-key -T pane-resize t resize-pane -D 5\; switch-client -T pane-resize
|
||||||
|
bind-key -T pane-resize s resize-pane -U 5\; switch-client -T pane-resize
|
||||||
|
bind-key -T pane-resize r resize-pane -R 5\; switch-client -T pane-resize
|
||||||
|
bind-key -T pane-resize C resize-pane -L\; switch-client -T pane-resize
|
||||||
|
bind-key -T pane-resize T resize-pane -D\; switch-client -T pane-resize
|
||||||
|
bind-key -T pane-resize S resize-pane -U\; switch-client -T pane-resize
|
||||||
|
bind-key -T pane-resize R resize-pane -R\; switch-client -T pane-resize
|
||||||
|
|
||||||
|
bind-key -T windows c new-window
|
||||||
|
bind-key -T windows n next-window
|
||||||
|
bind-key -T windows p previous-window
|
||||||
|
|
||||||
|
bind-key -T windows \" select-window -t :=1
|
||||||
|
bind-key -T windows « select-window -t :=2
|
||||||
|
bind-key -T windows » select-window -t :=3
|
||||||
|
bind-key -T windows ( select-window -t :=4
|
||||||
|
bind-key -T windows ) select-window -t :=5
|
||||||
|
bind-key -T windows @ select-window -t :=6
|
||||||
|
bind-key -T windows + select-window -t :=7
|
||||||
|
bind-key -T windows - select-window -t :=8
|
||||||
|
bind-key -T windows / select-window -t :=9
|
||||||
|
bind-key -T windows * select-window -t :=10
|
||||||
|
|
||||||
|
unbind -T copy-mode-vi H
|
||||||
|
unbind -T copy-mode-vi J
|
||||||
|
unbind -T copy-mode-vi K
|
||||||
|
unbind -T copy-mode-vi L
|
||||||
|
unbind -T copy-mode-vi h
|
||||||
|
unbind -T copy-mode-vi j
|
||||||
|
unbind -T copy-mode-vi k
|
||||||
|
unbind -T copy-mode-vi l
|
||||||
|
|
||||||
|
bind-key -T copy-mode-vi v send-keys -X begin-selection
|
||||||
|
bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle
|
||||||
|
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
|
||||||
|
bind-key -T copy-mode-vi C send-keys -X top-line
|
||||||
|
bind-key -T copy-mode-vi J send-keys -X jump-to-backward
|
||||||
|
bind-key -T copy-mode-vi S send-keys -X scroll-up
|
||||||
|
bind-key -T copy-mode-vi R send-keys -X bottom-line
|
||||||
|
bind-key -T copy-mode-vi T send-keys -X scroll-down
|
||||||
|
bind-key -T copy-mode-vi c send-keys -X cursor-left
|
||||||
|
bind-key -T copy-mode-vi t send-keys -X cursor-down
|
||||||
|
bind-key -T copy-mode-vi s send-keys -X cursor-up
|
||||||
|
bind-key -T copy-mode-vi r send-keys -X cursor-right
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -62,11 +62,6 @@ in {
|
|||||||
zstyle ':fzf-tab:complete:cd:*' fzf-preview '${pkgs.eza}/bin/eza $realpath'
|
zstyle ':fzf-tab:complete:cd:*' fzf-preview '${pkgs.eza}/bin/eza $realpath'
|
||||||
''
|
''
|
||||||
(strings.optionalString cfg.eatIntegration ''[ -n "$EAT_SHELL_INTEGRATION_DIR" ] && source "$EAT_SHELL_INTEGRATION_DIR/zsh"'')
|
(strings.optionalString cfg.eatIntegration ''[ -n "$EAT_SHELL_INTEGRATION_DIR" ] && source "$EAT_SHELL_INTEGRATION_DIR/zsh"'')
|
||||||
(strings.optionalString config.home.dev.vcs.jj.shellCompletion ''
|
|
||||||
autoload -U compinit
|
|
||||||
compinit
|
|
||||||
source <(jj util completion zsh)
|
|
||||||
'')
|
|
||||||
cfg.zshrcExtra
|
cfg.zshrcExtra
|
||||||
];
|
];
|
||||||
oh-my-zsh = {
|
oh-my-zsh = {
|
||||||
|
|||||||
@@ -1,56 +0,0 @@
|
|||||||
{config, lib, ...}: {
|
|
||||||
home.dev.ai = {
|
|
||||||
enable = lib.mkDefault true;
|
|
||||||
opencode = {
|
|
||||||
tui = {
|
|
||||||
mouse = true;
|
|
||||||
theme = "nord";
|
|
||||||
attention = {
|
|
||||||
enabled = true;
|
|
||||||
notifications = true;
|
|
||||||
};
|
|
||||||
keybinds = {
|
|
||||||
leader = "ctrl+x";
|
|
||||||
"command_list" = "<leader><leader>";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
settings = {
|
|
||||||
autoupdate = false;
|
|
||||||
provider = {
|
|
||||||
ollama = {
|
|
||||||
name = "Ollama (marpa)";
|
|
||||||
options.baseURL = "http://marpa:11434";
|
|
||||||
};
|
|
||||||
models = {
|
|
||||||
"qwen3.5:9b".name = "Qwen 3.5 Medium";
|
|
||||||
"gemma4:e4b".name = "Gemma E4B";
|
|
||||||
"qwen2.5-coder:1.5b-base".name = "Qwen 2.5 Coder Light";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
permission = {
|
|
||||||
"*" = "ask";
|
|
||||||
glob = "allow";
|
|
||||||
grep = "allow";
|
|
||||||
skill = "allow";
|
|
||||||
question = "allow";
|
|
||||||
read = {
|
|
||||||
"*" = "allow";
|
|
||||||
"*.env" = "deny";
|
|
||||||
"*.env.*" = "deny";
|
|
||||||
"*.env.example" = "allow";
|
|
||||||
};
|
|
||||||
"doom_loop" = "deny";
|
|
||||||
};
|
|
||||||
formatter.nixfmt = {
|
|
||||||
command = ["nix" "fmt" "$FILE"];
|
|
||||||
extensions = [".nix"];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
web = {
|
|
||||||
enable = true;
|
|
||||||
cors = config.sops.secrets."opencode/cors".path;
|
|
||||||
mdns.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,89 +0,0 @@
|
|||||||
{pkgs, ...}: {
|
|
||||||
config.home.desktop.firefox = {
|
|
||||||
enable = true;
|
|
||||||
useZen = true;
|
|
||||||
tridactyl = {
|
|
||||||
enable = true;
|
|
||||||
preConfig = "sanitise tridactyllocal tridactylsync";
|
|
||||||
config = {
|
|
||||||
editorcmd = "emacsclient -c";
|
|
||||||
keyboardlayoutbase = "bepo";
|
|
||||||
keyboardlayoutforce = "true";
|
|
||||||
hintchars = "auiectsr";
|
|
||||||
smothscroll = "true";
|
|
||||||
};
|
|
||||||
extraConfig = ''
|
|
||||||
command openTwitchInMpv js -d@\
|
|
||||||
const url = new URL(document.location.href);\
|
|
||||||
const cleanUrl = url.hostname + url.pathname;\
|
|
||||||
const token = document.cookie.split("; ")\
|
|
||||||
.find(item => item.startsWith("auth-token="))?.split("=")[1];\
|
|
||||||
const auth = "--twitch-api-header=Authorization=OAuth " + token;\
|
|
||||||
const cmd = `${pkgs.streamlink}/bin/streamlink "''${auth}" "''${cleanUrl}" best`;\
|
|
||||||
tri.native.run(cmd)\
|
|
||||||
@
|
|
||||||
|
|
||||||
unbind h
|
|
||||||
unbind j
|
|
||||||
unbind k
|
|
||||||
unbind l
|
|
||||||
unbind c
|
|
||||||
unbind t
|
|
||||||
unbind s
|
|
||||||
unbind r
|
|
||||||
unbind H
|
|
||||||
unbind J
|
|
||||||
unbind K
|
|
||||||
unbind L
|
|
||||||
unbind C
|
|
||||||
unbind T
|
|
||||||
unbind S
|
|
||||||
unbind R
|
|
||||||
|
|
||||||
" === Bépo layout — scrolling (ctsr = hjkl) ===
|
|
||||||
bind c scrollpx -300 0
|
|
||||||
bind t scrollline 5
|
|
||||||
bind s scrollline -5
|
|
||||||
bind r scrollpx 300 0
|
|
||||||
|
|
||||||
" Half/full page scroll (replacing C-f/C-b/C-d/C-u)
|
|
||||||
bind <C-t> scrollpage 0.5
|
|
||||||
bind <C-s> scrollpage -0.5
|
|
||||||
|
|
||||||
" === History navigation (C/R = H/L) ===
|
|
||||||
bind C back
|
|
||||||
bind R forward
|
|
||||||
|
|
||||||
" === Tab navigation ===
|
|
||||||
bind T tabnext
|
|
||||||
bind S tabprev
|
|
||||||
|
|
||||||
" === Displaced commands ===
|
|
||||||
" reload was on r → move to h (bépo's 'replace' position)
|
|
||||||
bind h reload
|
|
||||||
bind H reloadhard
|
|
||||||
|
|
||||||
" tabopen was on t → move to j (bépo's 'find char to' position)
|
|
||||||
bind j fillcmdline tabopen
|
|
||||||
|
|
||||||
unbind ^http(s?)://(www\.)?youtube\.com c
|
|
||||||
unbind ^http(s?)://(www\.)?youtube\.com f
|
|
||||||
unbind ^http(s?)://(www\.)?youtube\.com t
|
|
||||||
unbind ^http(s?)://(www\.)?youtube\.com l
|
|
||||||
unbind ^http(s?)://(www\.)?youtube\.com j
|
|
||||||
unbind ^http(s?)://twitch\.tv f
|
|
||||||
|
|
||||||
bind n findnext
|
|
||||||
bind N findnext -f
|
|
||||||
bind p findnext --reverse
|
|
||||||
bind P findnext -f --reverse
|
|
||||||
|
|
||||||
bind < urlincrement -1
|
|
||||||
bind > urlincrement 1
|
|
||||||
bind ypt openTwitchInMpv
|
|
||||||
bind ypv js tri.native.run(`mpv --ytdl-format="[height >=? 480]" --ontop --fs "''${document.location.href}"`)
|
|
||||||
bind ypm hint -JF e => tri.native.run(`mpv --ytdl-format="[height >=? 480]" --ontop --fs "''${e.href}"`)
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
+72
-7
@@ -5,12 +5,9 @@
|
|||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
./ai.nix
|
|
||||||
./light-home.nix
|
./light-home.nix
|
||||||
./packages.nix
|
./packages.nix
|
||||||
./email.nix
|
./email.nix
|
||||||
./firefox.nix
|
|
||||||
./tmux.nix
|
|
||||||
./wlr-which-key
|
./wlr-which-key
|
||||||
../modules
|
../modules
|
||||||
];
|
];
|
||||||
@@ -57,7 +54,6 @@
|
|||||||
emailPassword = {};
|
emailPassword = {};
|
||||||
"mopidy/bandcamp" = {};
|
"mopidy/bandcamp" = {};
|
||||||
"mopidy/spotify" = {};
|
"mopidy/spotify" = {};
|
||||||
"opencode/cors" = {};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
home = {
|
home = {
|
||||||
@@ -69,6 +65,76 @@
|
|||||||
};
|
};
|
||||||
desktop = {
|
desktop = {
|
||||||
caelestia.enable = true;
|
caelestia.enable = true;
|
||||||
|
firefox = {
|
||||||
|
enable = true;
|
||||||
|
useZen = true;
|
||||||
|
tridactyl = {
|
||||||
|
enable = true;
|
||||||
|
preConfig = "sanitise tridactyllocal tridactylsync";
|
||||||
|
config = {
|
||||||
|
editorcmd = "emacsclient -c";
|
||||||
|
keyboardlayoutbase = "bepo";
|
||||||
|
keyboardlayoutforce = "true";
|
||||||
|
hintchars = "auiectsr";
|
||||||
|
smothscroll = "true";
|
||||||
|
};
|
||||||
|
extraConfig = ''
|
||||||
|
unbind h
|
||||||
|
unbind j
|
||||||
|
unbind k
|
||||||
|
unbind l
|
||||||
|
unbind c
|
||||||
|
unbind t
|
||||||
|
unbind s
|
||||||
|
unbind r
|
||||||
|
unbind H
|
||||||
|
unbind J
|
||||||
|
unbind K
|
||||||
|
unbind L
|
||||||
|
unbind C
|
||||||
|
unbind T
|
||||||
|
unbind S
|
||||||
|
unbind R
|
||||||
|
|
||||||
|
" === Bépo layout — scrolling (ctsr = hjkl) ===
|
||||||
|
bind c scrollpx -300 0
|
||||||
|
bind t scrollline 5
|
||||||
|
bind s scrollline -5
|
||||||
|
bind r scrollpx 300 0
|
||||||
|
|
||||||
|
" Half/full page scroll (replacing C-f/C-b/C-d/C-u)
|
||||||
|
bind <C-t> scrollpage 0.5
|
||||||
|
bind <C-s> scrollpage -0.5
|
||||||
|
|
||||||
|
" === History navigation (C/R = H/L) ===
|
||||||
|
bind C back
|
||||||
|
bind R forward
|
||||||
|
|
||||||
|
" === Tab navigation ===
|
||||||
|
bind T tabnext
|
||||||
|
bind S tabprev
|
||||||
|
|
||||||
|
" === Displaced commands ===
|
||||||
|
" reload was on r → move to h (bépo's 'replace' position)
|
||||||
|
bind h reload
|
||||||
|
bind H reloadhard
|
||||||
|
|
||||||
|
" tabopen was on t → move to j (bépo's 'find char to' position)
|
||||||
|
bind j fillcmdline tabopen
|
||||||
|
|
||||||
|
unbind ^http(s?)://youtube\.com f
|
||||||
|
unbind ^http(s?)://youtube\.com t
|
||||||
|
unbind ^http(s?)://youtube\.com l
|
||||||
|
unbind ^http(s?)://youtube\.com j
|
||||||
|
unbind ^http(s?)://twitch\.tv f
|
||||||
|
|
||||||
|
bind < urlincrement -1
|
||||||
|
bind > urlincrement 1
|
||||||
|
bind ypv js tri.native.run(`mpv --ytdl-format="[height >=? 480]" --ontop --fs "''${document.location.href}"`)
|
||||||
|
bind ypm hint -JF e => tri.native.run(`mpv --ytdl-format="[height >=? 480]" --ontop --fs "''${e.href}"`)
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
spotify = {
|
spotify = {
|
||||||
enable = true;
|
enable = true;
|
||||||
spicetify.enable = true;
|
spicetify.enable = true;
|
||||||
@@ -79,15 +145,14 @@
|
|||||||
general = {
|
general = {
|
||||||
# first eight chars to select areas, last three chars
|
# first eight chars to select areas, last three chars
|
||||||
# for left, right, middle click
|
# for left, right, middle click
|
||||||
# First eigh chars to select areas: auiectsr
|
|
||||||
# last three chars for left, right, and middle click: tsr
|
|
||||||
home_row_keys = "auiectsrtsr";
|
home_row_keys = "auiectsrtsr";
|
||||||
modes = "tile,bisect,click";
|
modes = "tile,bisect";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
dev = {
|
dev = {
|
||||||
|
ai.claude.enable = true;
|
||||||
editors.emacs.package = emacsPackage;
|
editors.emacs.package = emacsPackage;
|
||||||
vcs.jj.signing.enable = true;
|
vcs.jj.signing.enable = true;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
desktop.hyprland.host = "marpa";
|
desktop.hyprland.host = "marpa";
|
||||||
phundrak.sshKey.content = builtins.readFile ../keys/id_marpa.pub;
|
phundrak.sshKey.content = builtins.readFile ../keys/id_marpa.pub;
|
||||||
};
|
};
|
||||||
programs.caelestia.settings.bar.status = {
|
programs.caelestia.settings.bar = {
|
||||||
showBattery = false;
|
showBattery = false;
|
||||||
showWifi = false;
|
showWifi = false;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
{config, ...}: {
|
|
||||||
imports = [../home.nix];
|
|
||||||
home = {
|
|
||||||
cli.nh.flake = "${config.home.homeDirectory}/.dotfiles";
|
|
||||||
desktop.hyprland.host = "gampo";
|
|
||||||
phundrak.sshKey.content = builtins.readFile ../keys/id_pinetab2.pub;
|
|
||||||
};
|
|
||||||
programs.caelestia.settings.bar.persistent = false;
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
{config, ...}: {
|
|
||||||
import = [../home.nix];
|
|
||||||
home = {
|
|
||||||
cli.nh.flake = "${config.home.homeDirectory}/.dotfiles";
|
|
||||||
desktop.hyprland.enable = false;
|
|
||||||
phundrak.sshKey.content = builtins.readFile ../keys/id_steamdeck.pub;
|
|
||||||
dev.ai = {
|
|
||||||
enable = true;
|
|
||||||
ollama.enable = false;
|
|
||||||
};
|
|
||||||
stateVersion = "25.11";
|
|
||||||
};
|
|
||||||
programs.caelestia.enable = false;
|
|
||||||
}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJCMgI5WDOKVUe6rUrOG4VS+hoUUVrAb1UhOECawUkrv Lucien Cartier-Tilet <lucien@phundrak.com>
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJkXdss1nRdBcl/8bjDssPaS68ozWw8sP98OsO+7iqi1 lucien@phundrak.com
|
|
||||||
@@ -10,10 +10,6 @@ in {
|
|||||||
imports = [../modules ./zellij.nix];
|
imports = [../modules ./zellij.nix];
|
||||||
|
|
||||||
options.home.phundrak = {
|
options.home.phundrak = {
|
||||||
username = mkOption {
|
|
||||||
default = "phundrak";
|
|
||||||
type = types.str;
|
|
||||||
};
|
|
||||||
sshKey = {
|
sshKey = {
|
||||||
content = mkOption {
|
content = mkOption {
|
||||||
type = types.nullOr types.str;
|
type = types.nullOr types.str;
|
||||||
@@ -36,7 +32,9 @@ in {
|
|||||||
secrets."ssh/hosts" = {};
|
secrets."ssh/hosts" = {};
|
||||||
age = {
|
age = {
|
||||||
# automatically import user SSH keys as age keys
|
# automatically import user SSH keys as age keys
|
||||||
sshKeyPaths = ["${config.home.homeDirectory}/.ssh/id_ed25519"];
|
sshKeyPaths = [
|
||||||
|
"${config.home.homeDirectory}/.ssh/id_ed25519"
|
||||||
|
];
|
||||||
# this will use an age key that is expected to already be in the filesystem
|
# this will use an age key that is expected to already be in the filesystem
|
||||||
keyFile = "${config.home.homeDirectory}/.local/sops-nix/key.txt";
|
keyFile = "${config.home.homeDirectory}/.local/sops-nix/key.txt";
|
||||||
# generate a new key if the key specified above does not exist
|
# generate a new key if the key specified above does not exist
|
||||||
@@ -45,8 +43,8 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
home = {
|
home = {
|
||||||
username = cfg.username;
|
username = "phundrak";
|
||||||
homeDirectory = "/home/${cfg.username}";
|
homeDirectory = "/home/phundrak";
|
||||||
packages = [pkgs.tree pkgs.ncdu];
|
packages = [pkgs.tree pkgs.ncdu];
|
||||||
preferXdgDirectories = true;
|
preferXdgDirectories = true;
|
||||||
|
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
with lib; let
|
with lib; let
|
||||||
inherit (pkgs.stdenv.hostPlatform) system;
|
inherit (pkgs.stdenv.hostPlatform) system;
|
||||||
handy = pkgs.callPackage ../../packages/handy.nix {};
|
handy = pkgs.callPackage ../../packages/handy.nix {};
|
||||||
|
inkdrop = pkgs.callPackage ../../packages/inkdrop.nix {};
|
||||||
pumo-system-info = inputs.pumo-system-info.packages.${system}.default;
|
pumo-system-info = inputs.pumo-system-info.packages.${system}.default;
|
||||||
in {
|
in {
|
||||||
programs.bun.enable = true;
|
programs.bun.enable = true;
|
||||||
@@ -39,7 +40,6 @@ in {
|
|||||||
|
|
||||||
# Misc
|
# Misc
|
||||||
# gplates
|
# gplates
|
||||||
kicad-small
|
|
||||||
qgis
|
qgis
|
||||||
handy
|
handy
|
||||||
libnotify
|
libnotify
|
||||||
@@ -49,7 +49,6 @@ in {
|
|||||||
scrcpy
|
scrcpy
|
||||||
syncthing
|
syncthing
|
||||||
watchmate
|
watchmate
|
||||||
chatterino7
|
|
||||||
|
|
||||||
# Games
|
# Games
|
||||||
atlauncher
|
atlauncher
|
||||||
@@ -70,6 +69,7 @@ in {
|
|||||||
# Dev
|
# Dev
|
||||||
dbeaver-bin
|
dbeaver-bin
|
||||||
devenv
|
devenv
|
||||||
|
inkdrop
|
||||||
nodejs
|
nodejs
|
||||||
sqlite
|
sqlite
|
||||||
tectonic # better LaTeX engine
|
tectonic # better LaTeX engine
|
||||||
|
|||||||
@@ -1,210 +0,0 @@
|
|||||||
{
|
|
||||||
home.shell.tmux = {
|
|
||||||
enable = true;
|
|
||||||
extraConfig = "set-option -sa terminal-overrides \",xterm*:Tc\"";
|
|
||||||
unbind = [
|
|
||||||
"C-b"
|
|
||||||
{"copy-mode-vi" = ["H" "J" "K" "L" "h" "j" "k" "l"];}
|
|
||||||
];
|
|
||||||
bind = {
|
|
||||||
prefix = [
|
|
||||||
{
|
|
||||||
key = "«";
|
|
||||||
action = "select-window -p";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "»";
|
|
||||||
action = "select-window -n";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "Tab";
|
|
||||||
action = "switch-client -T windows";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "w";
|
|
||||||
action = "switch-client -T pane";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "y";
|
|
||||||
action = "switch-client -T copy-mode";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
pane = [
|
|
||||||
{
|
|
||||||
key = "/";
|
|
||||||
action = "split-window -h -c \"#{pane-current_path}\"";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "-";
|
|
||||||
action = "split-window -v -c \"#{pane-current_path}\"";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "c";
|
|
||||||
action = "select-pane -L";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "t";
|
|
||||||
action = "select-pane -D";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "s";
|
|
||||||
action = "select-pane -U";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "r";
|
|
||||||
action = "select-pane -R";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "f";
|
|
||||||
action = "resize-pane -Z";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = ".";
|
|
||||||
action = "switch-client -T pane-resize";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
"pane-resize" = [
|
|
||||||
{
|
|
||||||
key = "c";
|
|
||||||
action = "resize-pane -L 5\\; switch-client -T pane-resize";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "t";
|
|
||||||
action = "resize-pane -D 5\\; switch-client -T pane-resize";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "s";
|
|
||||||
action = "resize-pane -U 5\\; switch-client -T pane-resize";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "r";
|
|
||||||
action = "resize-pane -R 5\\; switch-client -T pane-resize";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "C";
|
|
||||||
action = "resize-pane -L\\; switch-client -T pane-resize";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "T";
|
|
||||||
action = "resize-pane -D\\; switch-client -T pane-resize";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "S";
|
|
||||||
action = "resize-pane -U\\; switch-client -T pane-resize";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "R";
|
|
||||||
action = "resize-pane -R\\; switch-client -T pane-resize";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
windows = [
|
|
||||||
{
|
|
||||||
key = "c";
|
|
||||||
action = "new-window";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "n";
|
|
||||||
action = "next-window";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "p";
|
|
||||||
action = "previous-window";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "r";
|
|
||||||
action = "command-prompt \"rename-window '%%'\"";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "\\\"";
|
|
||||||
action = "select-window -t :=1";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "«";
|
|
||||||
action = "select-window -t :=2";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "»";
|
|
||||||
action = "select-window -t :=3";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "(";
|
|
||||||
action = "select-window -t :=4";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = ")";
|
|
||||||
action = "select-window -t :=5";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "@";
|
|
||||||
action = "select-window -t :=6";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "+";
|
|
||||||
action = "select-window -t :=7";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "-";
|
|
||||||
action = "select-window -t :=8";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "/";
|
|
||||||
action = "select-window -t :=9";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "*";
|
|
||||||
action = "select-window -t :=10";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
"copy-mode-vi" = [
|
|
||||||
{
|
|
||||||
key = "v";
|
|
||||||
action = "send-keys -X begin-selection";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "C-v";
|
|
||||||
action = "send-keys -X rectangle-toggle";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "y";
|
|
||||||
action = "send-keys -X copy-selection-and-cancel";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "C";
|
|
||||||
action = "send-keys -X top-line";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "J";
|
|
||||||
action = "send-keys -X jump-to-backward";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "S";
|
|
||||||
action = "send-keys -X scroll-up";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "R";
|
|
||||||
action = "send-keys -X bottom-line";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "T";
|
|
||||||
action = "send-keys -X scroll-down";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "c";
|
|
||||||
action = "send-keys -X cursor-left";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "t";
|
|
||||||
action = "send-keys -X cursor-down";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "s";
|
|
||||||
action = "send-keys -X cursor-up";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "r";
|
|
||||||
action = "send-keys -X cursor-right";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -26,9 +26,8 @@
|
|||||||
focus-urgent = import ./focus-urgent.nix {inherit pkgs;};
|
focus-urgent = import ./focus-urgent.nix {inherit pkgs;};
|
||||||
fullscreen = import ./fullscreen.nix {inherit pkgs;};
|
fullscreen = import ./fullscreen.nix {inherit pkgs;};
|
||||||
logout = import ./logout.nix {inherit pkgs;};
|
logout = import ./logout.nix {inherit pkgs;};
|
||||||
app-launcher = import ../../modules/cli/scripts/launcher.nix {inherit pkgs;};
|
|
||||||
plock = import ../../modules/cli/scripts/plock.nix {inherit pkgs;};
|
|
||||||
ytplay = import ../../modules/cli/scripts/ytplay.nix {inherit pkgs;};
|
ytplay = import ../../modules/cli/scripts/ytplay.nix {inherit pkgs;};
|
||||||
|
plock = import ../../modules/cli/scripts/plock.nix {inherit pkgs;};
|
||||||
in
|
in
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@@ -97,7 +96,7 @@
|
|||||||
{
|
{
|
||||||
key = "r";
|
key = "r";
|
||||||
desc = "App Menu";
|
desc = "App Menu";
|
||||||
cmd = "${app-launcher}/bin/app-launcher";
|
cmd = "rofi -show drun";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
key = "s";
|
key = "s";
|
||||||
@@ -242,18 +241,10 @@
|
|||||||
];
|
];
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
++ lib.lists.optionals config.home.desktop.wl-kbptr.enable [
|
++ lib.lists.optional config.home.desktop.wl-kbptr.enable {
|
||||||
{
|
|
||||||
key = "m";
|
key = "m";
|
||||||
desc = "Mouse Warp";
|
desc = "Mouse Warp";
|
||||||
cmd = "wl-kbptr";
|
cmd = "wl-kbptr";
|
||||||
}
|
};
|
||||||
{
|
|
||||||
key = "M";
|
|
||||||
desc = "Mouse click";
|
|
||||||
# cmd = "wl-kbptr -o modes=floating,click";
|
|
||||||
cmd = "wl-kbptr -o modes=floating,click -o mode_floating.source=detect";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,29 +0,0 @@
|
|||||||
{
|
|
||||||
nixpkgs,
|
|
||||||
rockchip,
|
|
||||||
additionalModules,
|
|
||||||
specialArgs,
|
|
||||||
...
|
|
||||||
}: buildPlatform: variant:
|
|
||||||
nixpkgs.lib.nixosSystem {
|
|
||||||
system = "aarch64-linux";
|
|
||||||
inherit specialArgs;
|
|
||||||
modules =
|
|
||||||
[
|
|
||||||
rockchip.nixosModules.sdImageRockchip
|
|
||||||
rockchip.nixosModules.dtOverlayPCIeFix
|
|
||||||
rockchip.nixosModules.noZFS
|
|
||||||
../hosts/pinetab2
|
|
||||||
variant
|
|
||||||
{
|
|
||||||
rockchip.uBoot = rockchip.packages.${buildPlatform}.uBootPineTab2;
|
|
||||||
boot.kernelPackages = rockchip.legacyPackages.${buildPlatform}.kernel_linux_7_0_pinetab_unstable;
|
|
||||||
hardware.firmware = [rockchip.packages.aarch64-linux.bes2600];
|
|
||||||
nixpkgs.config.allowUnfreePredicate = pkg:
|
|
||||||
builtins.elem (nixpkgs.lib.getName pkg) [
|
|
||||||
"bes2600-firmware"
|
|
||||||
];
|
|
||||||
}
|
|
||||||
]
|
|
||||||
++ additionalModules;
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user