Compare commits
4 Commits
main
...
248756df77
| Author | SHA1 | Date | |
|---|---|---|---|
|
248756df77
|
|||
|
b321172044
|
|||
|
3525ca37bf
|
|||
|
b7250f77b5
|
123
flake.lock
generated
123
flake.lock
generated
@@ -72,11 +72,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1778125502,
|
"lastModified": 1772764582,
|
||||||
"narHash": "sha256-QAAO9RCR6byVJi50l8RMVJWzrsNYbXonfR6tqU93vIQ=",
|
"narHash": "sha256-hSwjmpXHFqzSXrndVekA0IheKrbC7wi0IbfZTYwlmXw=",
|
||||||
"owner": "caelestia-dots",
|
"owner": "caelestia-dots",
|
||||||
"repo": "cli",
|
"repo": "cli",
|
||||||
"rev": "7b8a4281aa8b2b12745de531cce0c65d87aea2e5",
|
"rev": "4bcd42f482d038b98145b0b03388244b68b7d35d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -94,11 +94,11 @@
|
|||||||
"quickshell": "quickshell"
|
"quickshell": "quickshell"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1778381004,
|
"lastModified": 1774758352,
|
||||||
"narHash": "sha256-JwIlrajiY74obxyTMu/Ym6wOEQaCjpHwfziPK+E5u3Q=",
|
"narHash": "sha256-zrv2EjkiGT5BYyg9kOXfo48V6bUf0nyTjis/40ca+7s=",
|
||||||
"owner": "caelestia-dots",
|
"owner": "caelestia-dots",
|
||||||
"repo": "shell",
|
"repo": "shell",
|
||||||
"rev": "2ca4ad4a434e91e73504debd5225e66dc5ebb2b6",
|
"rev": "5c59e4490a43eb38b39133d80c47490f0963f216",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -115,11 +115,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1778198574,
|
"lastModified": 1774411715,
|
||||||
"narHash": "sha256-XzgYoibIH6diZoZ2GzoGeyV2xdXAwBtXdAze+Qu2kR0=",
|
"narHash": "sha256-mceIHtVMXpLAfr1W0VK9ceTBX5yKu4gGWpVbThWTsAA=",
|
||||||
"owner": "9001",
|
"owner": "9001",
|
||||||
"repo": "copyparty",
|
"repo": "copyparty",
|
||||||
"rev": "139ef1851e5d698521a5c2078c56f951d6e54d00",
|
"rev": "26e663d111e39ca96c63702ad27a05b6736607cf",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -374,11 +374,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1778609305,
|
"lastModified": 1774738535,
|
||||||
"narHash": "sha256-muTc+WME6k3sfTr/Pvmw8hrK7zXrbl961TEF9wPeAnk=",
|
"narHash": "sha256-2jfBEZUC67IlnxO5KItFCAd7Oc+1TvyV/jQlR+2ykGQ=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "5878fdadfe2cfe1b3383b38d66117f7b80696b68",
|
"rev": "769e07ef8f4cf7b1ec3b96ef015abec9bc6b1e2a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -398,16 +398,15 @@
|
|||||||
"rust-overlay": "rust-overlay"
|
"rust-overlay": "rust-overlay"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1777830987,
|
"lastModified": 1774451186,
|
||||||
"narHash": "sha256-fPsv7qZHb9EO04IoQ6cGAj+6/y1pSMEFWmvLCULOEuM=",
|
"narHash": "sha256-5IYhofBilDXbM6MWAZLTKxuThjtL3lGNTXdBGsbgRek=",
|
||||||
"ref": "develop",
|
"ref": "refs/heads/develop",
|
||||||
"rev": "bd6892d91e1a04f9b092b22831a977f08a36cbe0",
|
"rev": "a5b2bc41aafd203203b4eba4f247a670dd9cb252",
|
||||||
"revCount": 40,
|
"revCount": 29,
|
||||||
"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"
|
||||||
}
|
}
|
||||||
@@ -465,11 +464,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1778393439,
|
"lastModified": 1774762074,
|
||||||
"narHash": "sha256-mOtQxUjtKaPHLeoLOY/YEDctmud1X9KwJr4kE1MJ3Wc=",
|
"narHash": "sha256-89Mh4Eb/5stVJX6kGagVMijcU2FmfeD8Qv7UXc5d92o=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nix-index-database",
|
"repo": "nix-index-database",
|
||||||
"rev": "01466c414c7357ae2ce32be4a272a7c69e94ab5f",
|
"rev": "bc13aeaed568be76eab84df88ff39261bb52ff70",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -509,11 +508,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1778443072,
|
"lastModified": 1774386573,
|
||||||
"narHash": "sha256-zi7/fsqM/kFdNuED//4WOCUtezGtKKqRNORjMvfwjnA=",
|
"narHash": "sha256-4hAV26quOxdC6iyG7kYaZcM3VOskcPUrdCQd/nx8obc=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "da5ad661ba4e5ef59ba743f0d112cbc30e474f32",
|
"rev": "46db2e09e1d3f113a13c0d7b81e2f221c63b8ce9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -523,21 +522,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgsStable": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1778430510,
|
|
||||||
"narHash": "sha256-Ti+ZBvW6yrWWAg2szExVTwCd4qOJ3KlVr1tFHfyfi8Q=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "8fd9daa3db09ced9700431c5b7ad0e8ba199b575",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"id": "nixpkgs",
|
|
||||||
"ref": "nixos-25.11",
|
|
||||||
"type": "indirect"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pumo-system-info": {
|
"pumo-system-info": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils_4",
|
"flake-utils": "flake-utils_4",
|
||||||
@@ -568,11 +552,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1778222427,
|
"lastModified": 1772925576,
|
||||||
"narHash": "sha256-6GFiP611nEJvtm+m03sMyfaVIJ9QOCi//hS+PPKyyPA=",
|
"narHash": "sha256-mMoiXABDtkSJxCYDrkhJ/TrrJf5M46oUfIlJvv2gkZ0=",
|
||||||
"ref": "refs/heads/master",
|
"ref": "refs/heads/master",
|
||||||
"rev": "d1760ed1f31c02a95b37a9bf4084129c829ebe7f",
|
"rev": "15a84097653593dd15fad59a56befc2b7bdc270d",
|
||||||
"revCount": 817,
|
"revCount": 750,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
||||||
},
|
},
|
||||||
@@ -581,33 +565,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",
|
||||||
@@ -617,9 +574,7 @@
|
|||||||
"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",
|
|
||||||
"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",
|
||||||
@@ -692,11 +647,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1777944972,
|
"lastModified": 1774760784,
|
||||||
"narHash": "sha256-VfGRo1qTBKOe3s2gOv8LSoA6Fk19PvBlwQ1ECN0Evn8=",
|
"narHash": "sha256-D+tgywBHldTc0klWCIC49+6Zlp57Y4GGwxP1CqfxZrY=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "c591bf665727040c6cc5cb409079acb22dcce33c",
|
"rev": "8adb84861fe70e131d44e1e33c426a51e2e0bfa5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -713,11 +668,11 @@
|
|||||||
"systems": "systems_4"
|
"systems": "systems_4"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1778540809,
|
"lastModified": 1774157037,
|
||||||
"narHash": "sha256-FNXls2QZTcxY0Dem3QtSewnr8vUKMDsTw9m8pLOnhTc=",
|
"narHash": "sha256-kJpgEIF0sxMW0vx543m3AwyqptJOxPoOJY1DfJ4jQas=",
|
||||||
"owner": "Gerg-L",
|
"owner": "Gerg-L",
|
||||||
"repo": "spicetify-nix",
|
"repo": "spicetify-nix",
|
||||||
"rev": "83939d7df4c0f1b8ee88cabde112223280a48554",
|
"rev": "2e2234c2932a3aff5f845cda33cb1972a9e889aa",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -733,11 +688,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1778468351,
|
"lastModified": 1774517972,
|
||||||
"narHash": "sha256-A5ZdpWN5d+OmKln2EPPeMmPJaBwbugO9dEhyp3pn/X8=",
|
"narHash": "sha256-oPIVzGlMmfWuJlRbr87yU3cnV8NxtwTG92GqpQczlkw=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "srvos",
|
"repo": "srvos",
|
||||||
"rev": "23122d21dfbe00e072ce515e21af18882bc88fd7",
|
"rev": "0ddba2fbd72bb60f8b35b7de1ad67590f454d402",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -836,11 +791,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1778303188,
|
"lastModified": 1774759885,
|
||||||
"narHash": "sha256-zXFSvK80qpI91B7DU9QSExAtafSrz6vzormh2kUi6kQ=",
|
"narHash": "sha256-Y3D2GnZTO6BhGWeVcO6qUkiO5g0dDL2tmokLVWNC1WY=",
|
||||||
"owner": "youwen5",
|
"owner": "youwen5",
|
||||||
"repo": "zen-browser-flake",
|
"repo": "zen-browser-flake",
|
||||||
"rev": "9346c84657a9cab472bc4ee5a2d65d42a72d5346",
|
"rev": "16e3f4cd221a030186a96015d82dcb3fb4afa4d6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
39
flake.nix
39
flake.nix
@@ -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,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
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";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -36,13 +35,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 +58,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 +80,6 @@
|
|||||||
nixpkgs,
|
nixpkgs,
|
||||||
flake-utils,
|
flake-utils,
|
||||||
home-manager,
|
home-manager,
|
||||||
rockchip,
|
|
||||||
srvos,
|
srvos,
|
||||||
...
|
...
|
||||||
} @ inputs:
|
} @ inputs:
|
||||||
@@ -100,11 +90,7 @@
|
|||||||
in {
|
in {
|
||||||
formatter = pkgs.alejandra;
|
formatter = pkgs.alejandra;
|
||||||
devShells.default = pkgs.mkShell {
|
devShells.default = pkgs.mkShell {
|
||||||
buildInputs = [
|
buildInputs = [pkgs.nh];
|
||||||
pkgs.nh
|
|
||||||
pkgs.jujutsu
|
|
||||||
pkgs.git
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
packages = {
|
packages = {
|
||||||
@@ -132,7 +118,7 @@
|
|||||||
};
|
};
|
||||||
"phundrak@gampo" = home-manager.lib.homeManagerConfiguration {
|
"phundrak@gampo" = home-manager.lib.homeManagerConfiguration {
|
||||||
inherit extraSpecialArgs pkgs;
|
inherit extraSpecialArgs pkgs;
|
||||||
modules = withUserModules ./users/phundrak/host/gampo.nix;
|
modules = withUserModules ./users/phundrak/host/marpa.nix;
|
||||||
};
|
};
|
||||||
"phundrak@marpa" = home-manager.lib.homeManagerConfiguration {
|
"phundrak@marpa" = home-manager.lib.homeManagerConfiguration {
|
||||||
inherit extraSpecialArgs pkgs;
|
inherit extraSpecialArgs pkgs;
|
||||||
@@ -142,10 +128,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;
|
|
||||||
};
|
|
||||||
"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;
|
||||||
@@ -159,10 +141,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;
|
||||||
@@ -178,7 +156,7 @@
|
|||||||
};
|
};
|
||||||
marpa = nixpkgs.lib.nixosSystem {
|
marpa = nixpkgs.lib.nixosSystem {
|
||||||
inherit specialArgs;
|
inherit specialArgs;
|
||||||
modules = withSystemModules ./hosts/marpa;
|
modules = withSystemModules ./hosts/marpa/configuration.nix;
|
||||||
};
|
};
|
||||||
NaroMk3 = nixpkgs.lib.nixosSystem {
|
NaroMk3 = nixpkgs.lib.nixosSystem {
|
||||||
inherit specialArgs;
|
inherit specialArgs;
|
||||||
@@ -189,7 +167,6 @@
|
|||||||
./hosts/naromk3/configuration.nix
|
./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;
|
||||||
|
|||||||
@@ -12,14 +12,14 @@
|
|||||||
sops.secrets = {
|
sops.secrets = {
|
||||||
"elcafe/traefik/env".restartUnits = ["traefik.service"];
|
"elcafe/traefik/env".restartUnits = ["traefik.service"];
|
||||||
"elcafe/traefik/dynamic".restartUnits = ["traefik.service"];
|
"elcafe/traefik/dynamic".restartUnits = ["traefik.service"];
|
||||||
# "elcafe/copyparty/passwords/creug" = {
|
"elcafe/copyparty/passwords/creug" = {
|
||||||
# restartUnits = ["copyparty.service"];
|
restartUnits = ["copyparty.service"];
|
||||||
# owner = "creug";
|
owner = "creug";
|
||||||
# };
|
};
|
||||||
# "elcafe/copyparty/passwords/phundrak" = {
|
"elcafe/copyparty/passwords/phundrak" = {
|
||||||
# restartUnits = ["copyparty.service"];
|
restartUnits = ["copyparty.service"];
|
||||||
# owner = "phundrak";
|
owner = "phundrak";
|
||||||
# };
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
mySystem = {
|
mySystem = {
|
||||||
@@ -73,12 +73,12 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# services.copyparty = import ./copyparty.nix {
|
services.copyparty = import ./copyparty.nix {
|
||||||
# passwordFiles = {
|
passwordFiles = {
|
||||||
# creug = config.sops.secrets."elcafe/copyparty/passwords/creug".path;
|
creug = config.sops.secrets."elcafe/copyparty/passwords/creug".path;
|
||||||
# phundrak = config.sops.secrets."elcafe/copyparty/passwords/phundrak".path;
|
phundrak = config.sops.secrets."elcafe/copyparty/passwords/phundrak".path;
|
||||||
# };
|
};
|
||||||
# };
|
};
|
||||||
|
|
||||||
# This value determines the NixOS release from which the default
|
# This value determines the NixOS release from which the default
|
||||||
# settings for stateful data, like file locations and database versions
|
# settings for stateful data, like file locations and database versions
|
||||||
|
|||||||
@@ -41,7 +41,6 @@
|
|||||||
};
|
};
|
||||||
sound.enable = true;
|
sound.enable = true;
|
||||||
};
|
};
|
||||||
i18n.input.enable = true;
|
|
||||||
misc.keymap = "fr-bepo";
|
misc.keymap = "fr-bepo";
|
||||||
networking = {
|
networking = {
|
||||||
hostname = "gampo";
|
hostname = "gampo";
|
||||||
|
|||||||
@@ -86,7 +86,6 @@
|
|||||||
scarlett.enable = true;
|
scarlett.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
i18n.input.enable = true;
|
|
||||||
misc.keymap = "fr-bepo";
|
misc.keymap = "fr-bepo";
|
||||||
networking = {
|
networking = {
|
||||||
hostname = "marpa";
|
hostname = "marpa";
|
||||||
@@ -107,10 +106,6 @@
|
|||||||
programs.steam.enable = true;
|
programs.steam.enable = true;
|
||||||
services = {
|
services = {
|
||||||
fwupd.enable = true;
|
fwupd.enable = true;
|
||||||
harmonia = {
|
|
||||||
enable = true;
|
|
||||||
signKeyPaths = [config.sops.secrets."marpa/nix-cache-priv-key".path];
|
|
||||||
};
|
|
||||||
languagetool.enable = true;
|
languagetool.enable = true;
|
||||||
printing.enable = true;
|
printing.enable = true;
|
||||||
ssh.enable = true;
|
ssh.enable = true;
|
||||||
@@ -128,14 +123,11 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
sops.secrets = {
|
sops.secrets.extraHosts = {
|
||||||
"marpa/nix-cache-priv-key" = {};
|
|
||||||
extraHosts = {
|
|
||||||
inherit (config.users.users.root) group;
|
inherit (config.users.users.root) group;
|
||||||
owner = config.users.users.phundrak.name;
|
owner = config.users.users.phundrak.name;
|
||||||
mode = "0440";
|
mode = "0440";
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
services.udev.extraHwdb = ''
|
services.udev.extraHwdb = ''
|
||||||
mouse:usb:047d:80a6:*
|
mouse:usb:047d:80a6:*
|
||||||
@@ -1,75 +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
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -6,8 +6,6 @@ elcafe:
|
|||||||
traefik:
|
traefik:
|
||||||
env: ENC[AES256_GCM,data:HUdWGYoEPp2v8dnDuVsl7YmPxuBfHmXzGrvKWeiqPlmAwMqVZrZ1j8on/7QKvYDJoTJ40XY2qNynSA==,iv:Vgc/fZERnNp7hSMeRd9EgB3IenKAFTAhwC0bk8CX4DE=,tag:SdfhOST/o29Lt1zRdXXRyQ==,type:str]
|
env: ENC[AES256_GCM,data:HUdWGYoEPp2v8dnDuVsl7YmPxuBfHmXzGrvKWeiqPlmAwMqVZrZ1j8on/7QKvYDJoTJ40XY2qNynSA==,iv:Vgc/fZERnNp7hSMeRd9EgB3IenKAFTAhwC0bk8CX4DE=,tag:SdfhOST/o29Lt1zRdXXRyQ==,type:str]
|
||||||
dynamic: ENC[AES256_GCM,data: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,iv:3G3geSZRziwGiKcUMVNZ7j5s/4YA6Uk7wCSb4aFNSMo=,tag:FxARskR9+wdV7/xCKP8UdA==,type:str]
|
dynamic: ENC[AES256_GCM,data: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,iv:3G3geSZRziwGiKcUMVNZ7j5s/4YA6Uk7wCSb4aFNSMo=,tag:FxARskR9+wdV7/xCKP8UdA==,type:str]
|
||||||
marpa:
|
|
||||||
nix-cache-priv-key: ENC[AES256_GCM,data:H5VsN0nOogvgxWHXHF66BbzJe17zelZCG6mU4vmVJqBoi7a5cQxzU7WnV4k1EOpMJPDj6floVmrsG4DM86FthxcTwixCNDINmaemwAXQnUkgWXFKYY7Ovzten81UVKrtkN4n1S8=,iv:pxnHD5YqyTeNZnxyEJeXAUixZEz8Uq9b2HFZZBsMOzk=,tag:xI+4tFG+Q4Z5IVxlATayJA==,type:str]
|
|
||||||
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]
|
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]
|
||||||
mopidy:
|
mopidy:
|
||||||
spotify: ENC[AES256_GCM,data:6i9BzQmlndnROuT1H2zgN/3I6hBiFf14BlcS+XL2PbTiiEQZe2yE3tnZo3KXU9S5CjS3MwxsVdytKOFMQt2s1bVjcibBhJzoKEQByaapdzn1mK3kQLdJfhPf4Hf9YZV9Dlc60ngS7ESLZakdFVlj4rlbV5XReLhK,iv:fYd78r4U0kTyq1TZjBVXkjdNiOQ29gLJ53kwTXsi8W0=,tag:oWaeOuzdHWS4joZAdeA2pg==,type:str]
|
spotify: ENC[AES256_GCM,data:6i9BzQmlndnROuT1H2zgN/3I6hBiFf14BlcS+XL2PbTiiEQZe2yE3tnZo3KXU9S5CjS3MwxsVdytKOFMQt2s1bVjcibBhJzoKEQByaapdzn1mK3kQLdJfhPf4Hf9YZV9Dlc60ngS7ESLZakdFVlj4rlbV5XReLhK,iv:fYd78r4U0kTyq1TZjBVXkjdNiOQ29gLJ53kwTXsi8W0=,tag:oWaeOuzdHWS4joZAdeA2pg==,type:str]
|
||||||
@@ -107,7 +105,7 @@ sops:
|
|||||||
dUpXZis2N2VyN0ZFbjlPRXdwRFQ1aHMKm1Mk6MPKxFmwdATCYUANRSY5rHKgmQer
|
dUpXZis2N2VyN0ZFbjlPRXdwRFQ1aHMKm1Mk6MPKxFmwdATCYUANRSY5rHKgmQer
|
||||||
LBlqqWKt1JiIUAYtazQeQ6KYxmjVlQPY7AZw2t+EhBEPrqbTL3vOiw==
|
LBlqqWKt1JiIUAYtazQeQ6KYxmjVlQPY7AZw2t+EhBEPrqbTL3vOiw==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
lastmodified: "2026-05-01T13:20:34Z"
|
lastmodified: "2026-03-07T17:19:05Z"
|
||||||
mac: ENC[AES256_GCM,data:OueL0eHYmFKWfSyCZxburRJ2FS1xkowx7ha/Zv7r++26D85GSHDeIL9HdfByI5a1OhH90rH3WLxZrJgT3FiwBw27HhhHtS7Fs6MBFvTuPmSA7ZtMeGMWBRVjwbGAWN17BZAhJzMlZHq2nPX0xXIKT0HuTLVRPLuVCSlvDzMXsTE=,iv:+JN4Vzs8o8PJAam/uKBbUXt3ArxC88D6xR7rMeeGglg=,tag:S+OtbxLhVKFnqBZtyKDGyA==,type:str]
|
mac: ENC[AES256_GCM,data:hT4mPKLcIuAFmllJBYFXL5sGyMn95mYEv+eGVA+KQYm629YKSncgvn5g8elau/8HXR1O/bwQlkGmGr8VPeR/0KRb6TPCA4MrCwox38fy3ZLx2e0movVi/xIgKXIo5wYUq4Qm/pSo715limxGChxUxKtdEK/lmMkSnxyGmlkQtwM=,iv:XoOfhdK/CK6shUXhH4h14gtyqZqcqmTV6/R2jkynFr8=,tag:q3V0xcWQxjFi2drk5fLJoQ==,type:str]
|
||||||
unencrypted_suffix: _unencrypted
|
unencrypted_suffix: _unencrypted
|
||||||
version: 3.12.2
|
version: 3.11.0
|
||||||
|
|||||||
@@ -73,7 +73,10 @@ in {
|
|||||||
};
|
};
|
||||||
supportedFilesystems = mkIf cfg.zfs.enable ["zfs"];
|
supportedFilesystems = mkIf cfg.zfs.enable ["zfs"];
|
||||||
zfs.extraPools = mkIf cfg.zfs.enable cfg.zfs.pools;
|
zfs.extraPools = mkIf cfg.zfs.enable cfg.zfs.pools;
|
||||||
kernelPackages = cfg.kernel.package;
|
kernelPackages =
|
||||||
|
if cfg.kernel.hardened
|
||||||
|
then pkgs.linuxPackages_hardened
|
||||||
|
else cfg.kernel.package;
|
||||||
kernelModules =
|
kernelModules =
|
||||||
cfg.kernel.modules
|
cfg.kernel.modules
|
||||||
++ ["kvm-${cfg.kernel.cpuVendor}"]
|
++ ["kvm-${cfg.kernel.cpuVendor}"]
|
||||||
|
|||||||
@@ -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 = [
|
||||||
|
"https://nix-community.cachix.org?priority=10"
|
||||||
|
"https://devenv.cachix.org?priority=20"
|
||||||
|
"https://phundrak.cachix.org?priority=30"
|
||||||
|
"https://cache.nixos.org?priority=40"
|
||||||
|
];
|
||||||
|
trusted-public-keys = [
|
||||||
|
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
||||||
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||||
|
"devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw="
|
||||||
|
"phundrak.cachix.org-1:osJAkYO0ioTOPqaQCIXMfIRz1/+YYlVFkup3R2KSexk="
|
||||||
|
];
|
||||||
|
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];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -32,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;
|
||||||
@@ -41,8 +40,6 @@ in {
|
|||||||
};
|
};
|
||||||
jack.enable = mkDefault cfg.jack;
|
jack.enable = mkDefault cfg.jack;
|
||||||
};
|
};
|
||||||
pulseaudio.enable = false;
|
|
||||||
};
|
|
||||||
programs.noisetorch = mkIf cfg.enable {
|
programs.noisetorch = mkIf cfg.enable {
|
||||||
inherit (cfg) enable;
|
inherit (cfg) enable;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./input.nix
|
|
||||||
./locale.nix
|
./locale.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,25 +0,0 @@
|
|||||||
{
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
with lib; let
|
|
||||||
cfg = config.mySystem.i18n.input;
|
|
||||||
in {
|
|
||||||
options.mySystem.i18n.input.enable = mkEnableOption "Enable i18n input with fcitx5";
|
|
||||||
|
|
||||||
config.i18n.inputMethod = mkIf cfg.enable {
|
|
||||||
enable = true;
|
|
||||||
type = "fcitx5";
|
|
||||||
fcitx5.addons = with pkgs; [
|
|
||||||
fcitx5-gtk
|
|
||||||
fcitx5-mozc-ut # Japanese input support
|
|
||||||
fcitx5-nord
|
|
||||||
fcitx5-table-other # X-SAMPA to IPA support
|
|
||||||
qt6Packages.fcitx5-chinese-addons # allow to load table addons
|
|
||||||
qt6Packages.fcitx5-configtool
|
|
||||||
qt6Packages.fcitx5-with-addons
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,6 @@
|
|||||||
./calibre.nix
|
./calibre.nix
|
||||||
./endlessh.nix
|
./endlessh.nix
|
||||||
./fwupd.nix
|
./fwupd.nix
|
||||||
./harmonia.nix
|
|
||||||
./jellyfin.nix
|
./jellyfin.nix
|
||||||
./languagetool.nix
|
./languagetool.nix
|
||||||
./plex.nix
|
./plex.nix
|
||||||
|
|||||||
@@ -1,36 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
with lib; let
|
|
||||||
cfg = config.mySystem.services.harmonia;
|
|
||||||
in {
|
|
||||||
options.mySystem.services.harmonia = {
|
|
||||||
enable = mkEnableOption "Harmonia Nix binary cache server";
|
|
||||||
port = mkOption {
|
|
||||||
type = types.port;
|
|
||||||
default = 5000;
|
|
||||||
description = "Port to listen on";
|
|
||||||
};
|
|
||||||
priority = mkOption {
|
|
||||||
type = types.ints.between 0 100;
|
|
||||||
default = 50;
|
|
||||||
description = "Cache priority (lower = higher priority, 0-100)";
|
|
||||||
};
|
|
||||||
signKeyPaths = mkOption {
|
|
||||||
type = types.listOf types.path;
|
|
||||||
description = "Paths to the signing keys to use for signing the cache.";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
services.harmonia.cache = {
|
|
||||||
enable = true;
|
|
||||||
inherit (cfg) signKeyPaths;
|
|
||||||
settings = {
|
|
||||||
inherit (cfg) priority;
|
|
||||||
bind = "[::]:${toString cfg.port}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -34,16 +34,7 @@ in {
|
|||||||
creug.sshKey.file = "${config.home.homeDirectory}/.ssh/id_ed25519.pub";
|
creug.sshKey.file = "${config.home.homeDirectory}/.ssh/id_ed25519.pub";
|
||||||
|
|
||||||
dev.vcs = {
|
dev.vcs = {
|
||||||
name = "Creug";
|
jj.enable = false;
|
||||||
email = "gregory.foulachon@gmail.com";
|
|
||||||
editor = "${pkgs.nano}/bin/nano";
|
|
||||||
jj = {
|
|
||||||
enable = true;
|
|
||||||
cz = {
|
|
||||||
enable = true;
|
|
||||||
alias = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
git.enable = true;
|
git.enable = true;
|
||||||
publicKey = cfg.sshKey;
|
publicKey = cfg.sshKey;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -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 != "") [
|
||||||
|
|||||||
@@ -50,13 +50,10 @@ in {
|
|||||||
systemd.enable = false;
|
systemd.enable = false;
|
||||||
importantPrefixes = ["$left" "$right" "$up" "$down" "$menu"];
|
importantPrefixes = ["$left" "$right" "$up" "$down" "$menu"];
|
||||||
settings = {
|
settings = {
|
||||||
env = [
|
|
||||||
"XMODIFIERS,@im=fcitx"
|
|
||||||
"XCURSOR_SIZE,12"
|
|
||||||
];
|
|
||||||
input = {
|
input = {
|
||||||
kb_layout = "fr,us";
|
kb_layout = "fr,us";
|
||||||
kb_variant = "bepo_afnor,";
|
kb_variant = "bepo_afnor,";
|
||||||
|
# kb_options = "caps:ctrl_modifier";
|
||||||
numlock_by_default = true;
|
numlock_by_default = true;
|
||||||
follow_mouse = 1;
|
follow_mouse = 1;
|
||||||
touchpad.natural_scroll = false;
|
touchpad.natural_scroll = false;
|
||||||
@@ -109,8 +106,6 @@ in {
|
|||||||
"pactl load-module module-switch-on-connect"
|
"pactl load-module module-switch-on-connect"
|
||||||
"${pkgs.mpc}/bin/mpc stop"
|
"${pkgs.mpc}/bin/mpc stop"
|
||||||
"${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"
|
"${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"
|
||||||
"${pkgs.mozc}/lib/mozc/mozc_server"
|
|
||||||
"${pkgs.fcitx5}/bin/fcitx5 -d"
|
|
||||||
]
|
]
|
||||||
++ lib.lists.optional (! caelestiaEnabled) "${pkgs.networkmanagerapplet}/bin/nm-applet";
|
++ lib.lists.optional (! caelestiaEnabled) "${pkgs.networkmanagerapplet}/bin/nm-applet";
|
||||||
};
|
};
|
||||||
@@ -175,6 +170,8 @@ in {
|
|||||||
bind = SUPER_SHIFT, minus, movetoworkspace, 8
|
bind = SUPER_SHIFT, minus, movetoworkspace, 8
|
||||||
bind = SUPER_SHIFT, slash, movetoworkspace, 9
|
bind = SUPER_SHIFT, slash, movetoworkspace, 9
|
||||||
bind = SUPER_SHIFT, asterisk, movetoworkspace, 10
|
bind = SUPER_SHIFT, asterisk, movetoworkspace, 10
|
||||||
|
|
||||||
|
env = XCURSOR_SIZE,12
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
inputs,
|
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
@@ -30,7 +29,7 @@ in {
|
|||||||
};
|
};
|
||||||
ollama.enable = mkDefault cfg.enable;
|
ollama.enable = mkDefault cfg.enable;
|
||||||
};
|
};
|
||||||
packages = [pkgs.lmstudio pkgs.opencode];
|
packages = [pkgs.lmstudio];
|
||||||
};
|
};
|
||||||
programs.mcp = mkIf (cfg.mcpServers != {}) {
|
programs.mcp = mkIf (cfg.mcpServers != {}) {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,77 +0,0 @@
|
|||||||
{
|
|
||||||
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 = ''
|
|
||||||
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 n findnext
|
|
||||||
bind N findnext -f
|
|
||||||
bind p findnext --reverse
|
|
||||||
bind P findnext -f --reverse
|
|
||||||
|
|
||||||
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}"`)
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -8,8 +8,6 @@
|
|||||||
./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
|
||||||
];
|
];
|
||||||
@@ -67,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 (T/S = J/K) ===
|
||||||
|
bind T tabprev
|
||||||
|
bind S tabnext
|
||||||
|
|
||||||
|
" === 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;
|
||||||
@@ -89,9 +157,7 @@
|
|||||||
vcs.jj.signing.enable = true;
|
vcs.jj.signing.enable = true;
|
||||||
};
|
};
|
||||||
fullDesktop = true;
|
fullDesktop = true;
|
||||||
file = {
|
file."${config.home.homeDirectory}/.ssh/allowed_signers" = {
|
||||||
".XCompose".source = ./XCompose;
|
|
||||||
"${config.home.homeDirectory}/.ssh/allowed_signers" = {
|
|
||||||
enable = true;
|
enable = true;
|
||||||
text = lib.strings.join "\n" (
|
text = lib.strings.join "\n" (
|
||||||
map (file: let
|
map (file: let
|
||||||
@@ -103,7 +169,6 @@
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
manual = {
|
manual = {
|
||||||
html.enable = true;
|
html.enable = true;
|
||||||
|
|||||||
@@ -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 +0,0 @@
|
|||||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJCMgI5WDOKVUe6rUrOG4VS+hoUUVrAb1UhOECawUkrv Lucien Cartier-Tilet <lucien@phundrak.com>
|
|
||||||
@@ -32,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
|
||||||
|
|||||||
@@ -32,16 +32,17 @@ in {
|
|||||||
audacity
|
audacity
|
||||||
plexamp
|
plexamp
|
||||||
plex-desktop
|
plex-desktop
|
||||||
|
spicetify-cli
|
||||||
pavucontrol # Volume control
|
pavucontrol # Volume control
|
||||||
|
|
||||||
# Social
|
# Social
|
||||||
vesktop # Discord alternative that works well with wayland
|
vesktop # Discord alternative that works well with wayland
|
||||||
|
element-desktop
|
||||||
signal-desktop
|
signal-desktop
|
||||||
|
|
||||||
# Misc
|
# Misc
|
||||||
|
bitwarden-desktop
|
||||||
# gplates
|
# gplates
|
||||||
kicad-small
|
|
||||||
qgis
|
|
||||||
handy
|
handy
|
||||||
libnotify
|
libnotify
|
||||||
nextcloud-client
|
nextcloud-client
|
||||||
|
|||||||
@@ -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";
|
||||||
|
|||||||
@@ -1,27 +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