Compare commits
168 Commits
98f207adf4
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| f3140a70b3 | |||
| c51a137efe | |||
| 1977d0d202 | |||
| 7c00b37a80 | |||
| 0c8c2275f7 | |||
| e6791d0a1f | |||
| 79777b134e | |||
| 2171a57659 | |||
| f242b3edf1 | |||
| 3d499ba151 | |||
| 0a98f76bfd | |||
| 8cc6ac1444 | |||
| d1c3ec9b75 | |||
| 9b973e3ed4 | |||
| 716c218535 | |||
| 25ca1b8e68 | |||
| 98b44388e1 | |||
| 01760f2cb5 | |||
| c9868029c7 | |||
| 0d1ea85db9 | |||
| f66cc85b95 | |||
| 82532aef0e | |||
| f61a4ee7e3 | |||
| 15280d58db | |||
| 13406ac5a5 | |||
| e77d36d230 | |||
| 38691b024c | |||
| 6cb1847ce3 | |||
| f9d691975d | |||
| b5ace6ccb9 | |||
| bec9559314 | |||
| b654d36a6f | |||
| 42099e9142 | |||
| e0ded22cc5 | |||
| 05b0b6f6dd | |||
| b98f2c94fe | |||
| 120a482b1e | |||
| 240b124a28 | |||
| 448c8523e7 | |||
| dbce42d130 | |||
| 4c54a00ec9 | |||
| dbc625d989 | |||
| 5d729b4948 | |||
| 05a5fc1976 | |||
| 89ba85360c | |||
| 5ebfdb39f1 | |||
| 5ca4021c5b | |||
| f5232c2bfb | |||
| 07313c8ab4 | |||
| 271d4097c8 | |||
| 17e2821237 | |||
| 055e983dec | |||
| f9b349f04e | |||
| 56211a0c9e | |||
| cc7c838f01 | |||
| 0970d50557 | |||
| 88d320fded | |||
| 6daa10eb1e | |||
| c7a2912aa3 | |||
| bfc3ee5264 | |||
| 13ffb87959 | |||
| 0fc344416c | |||
| 238db043b4 | |||
| 5caf79cc2d | |||
| 1a8b0c4449 | |||
| ec1e077975 | |||
| 32f1129f62 | |||
| 065ee1a066 | |||
| d1ca1b95b8 | |||
| 8164630ae7 | |||
| 80a865d1f6 | |||
| 0f52c25063 | |||
| a9e9fbb543 | |||
| 7d2771d133 | |||
| 1c6576d54f | |||
| 0d4f40960b | |||
| 75c682b085 | |||
| 55585a31d4 | |||
| 195f941fad | |||
| 6c8042897b | |||
| d090186360 | |||
| 491a43212b | |||
| a5148e8758 | |||
| a4b3c5459c | |||
| 8e7be94b1d | |||
| ccf63fa289 | |||
| 611be25f39 | |||
| 99bcf9068c | |||
| a484af41be | |||
| da9391b68a | |||
| 4ca8b75fa4 | |||
| 2766a80c70 | |||
| 8a50a29ef7 | |||
| 44ac3ac799 | |||
| 7f2def19e8 | |||
| 15de1e42e9 | |||
| 9a921d531a | |||
| 628b278309 | |||
| f2797d39ee | |||
| 7a8597cdef | |||
| 1a478ba01e | |||
| f699955913 | |||
| b780a2d51e | |||
| 1f6a2f8cca | |||
| 48c4a9a147 | |||
| 02d570f13d | |||
| c16865a048 | |||
| 3a7334c3b9 | |||
| 04d77743ab | |||
| e520257894 | |||
| 222368696b | |||
| 49e6f00172 | |||
| cd8c80ed10 | |||
| 571196db9d | |||
| d3ff73c7ed | |||
| b803a816db | |||
| 322653d25f | |||
| 9c62e506f4 | |||
| 64c613d5ca | |||
| 565a25a122 | |||
| f8e0a66986 | |||
| ae017a01b7 | |||
| 116872c3a7 | |||
| 326271181d | |||
| 9e9475268b | |||
| aff127af23 | |||
| db6834220d | |||
| 2d77b7c880 | |||
| 423b66c2ce | |||
| a32c87a33a | |||
| dce7267c30 | |||
| 8eb9c02b66 | |||
| 534fe6e7a0 | |||
| 863648d28f | |||
| 1b4d899713 | |||
| 30e4b336e5 | |||
| 2e0ee755e3 | |||
| a1279896f7 | |||
| 3f485a06e7 | |||
| beae688002 | |||
| 7febbf79d2 | |||
| a8ff627aba | |||
| 9d17b55a33 | |||
| 2aa29ddb79 | |||
| 4e8b633cb0 | |||
| f82a8856b1 | |||
| da10edad83 | |||
| aa819813ee | |||
| 77ea83fae3 | |||
| 6aa5ce4904 | |||
| f21c7e15ba | |||
| 2c4b960475 | |||
| 8ff01c21ee | |||
| 344903ec9b | |||
| cdaf1fd04e | |||
| 3f14f52f51 | |||
| a822ca69c5 | |||
| 42af96b6e6 | |||
| 75ed98ca0a | |||
| feef15e944 | |||
| 851dfda368 | |||
| 2637cc2d9d | |||
| 0559164a2e | |||
| 390ab43b05 | |||
| 0a9c0084df | |||
| a29d88574c | |||
| 9c2b28b1e8 | |||
| 7961adf9e3 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,2 +1,3 @@
|
|||||||
.null-ls*
|
.null-ls*
|
||||||
nixos-switch.log
|
nixos-switch.log
|
||||||
|
result
|
||||||
|
|||||||
107
flake.lock
generated
107
flake.lock
generated
@@ -7,30 +7,32 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1720042825,
|
"lastModified": 1758463745,
|
||||||
"narHash": "sha256-A0vrUB6x82/jvf17qPCpxaM+ulJnD8YZwH9Ci0BsAzE=",
|
"narHash": "sha256-uhzsV0Q0I9j2y/rfweWeGif5AWe0MGrgZ/3TjpDYdGA=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "e1391fb22e18a36f57e6999c7a9f966dc80ac073",
|
"rev": "3b955f5f0a942f9f60cdc9cacb7844335d0f21c3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"ref": "release-24.05",
|
"ref": "release-25.05",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"musnix": {
|
"musnix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1722809356,
|
"lastModified": 1756852730,
|
||||||
"narHash": "sha256-xyNFsF+5cDjMlfbm7NMG33K+oej0T/Iosm3Nukp3+RU=",
|
"narHash": "sha256-qPere4RBHoZxiEGl8zXU8gjroZg4gkYGEwaAbKmL4vE=",
|
||||||
"owner": "musnix",
|
"owner": "musnix",
|
||||||
"repo": "musnix",
|
"repo": "musnix",
|
||||||
"rev": "a2f2e86026043977fdce30ac098a022a71b39392",
|
"rev": "7ccc92050e43dc92309396c6f2fe1f542214a242",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -41,74 +43,58 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1722421184,
|
"lastModified": 1759143472,
|
||||||
"narHash": "sha256-/DJBI6trCeVnasdjUo9pbnodCLZcFqnVZiLUfqLH4jA=",
|
"narHash": "sha256-TvODmeR2W7yX/JmOCmP+lAFNkTT7hAxYcF3Kz8SZV3w=",
|
||||||
"owner": "NixOS",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "9f918d616c5321ad374ae6cb5ea89c9e04bf3e58",
|
"rev": "5ed4e25ab58fd4c028b59d5611e14ea64de51d23",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-25.05",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs-unstable": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1759036355,
|
||||||
|
"narHash": "sha256-0m27AKv6ka+q270dw48KflE0LwQYrO7Fm4/2//KCVWg=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "e9f00bd893984bc8ce46c895c3bf7cac95331127",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
"ref": "nixos-unstable",
|
"ref": "nixos-unstable",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1721524707,
|
|
||||||
"narHash": "sha256-5NctRsoE54N86nWd0psae70YSLfrOek3Kv1e8KoXe/0=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "556533a23879fc7e5f98dd2e0b31a6911a213171",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "release-24.05",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_2": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1722869614,
|
|
||||||
"narHash": "sha256-7ojM1KSk3mzutD7SkrdSflHXEujPvW1u7QuqWoTLXQU=",
|
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "883180e6550c1723395a3a342f830bfc5c371f6b",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nixos",
|
|
||||||
"ref": "nixos-24.05",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"musnix": "musnix",
|
"musnix": "musnix",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs",
|
||||||
|
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||||
"sops-nix": "sops-nix",
|
"sops-nix": "sops-nix",
|
||||||
"unstable": "unstable"
|
"wrapper-manager": "wrapper-manager"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"sops-nix": {
|
"sops-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
]
|
||||||
"nixpkgs-stable": "nixpkgs-stable"
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1722897572,
|
"lastModified": 1759188042,
|
||||||
"narHash": "sha256-3m/iyyjCdRBF8xyehf59QlckIcmShyTesymSb+N4Ap4=",
|
"narHash": "sha256-f9QC2KKiNReZDG2yyKAtDZh0rSK2Xp1wkPzKbHeQVRU=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "8ae477955dfd9cbf5fa4eb82a8db8ddbb94e79d9",
|
"rev": "9fcfabe085281dd793589bdc770a2e577a3caa5d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -117,19 +103,18 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"unstable": {
|
"wrapper-manager": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1722813957,
|
"lastModified": 1757156862,
|
||||||
"narHash": "sha256-IAoYyYnED7P8zrBFMnmp7ydaJfwTnwcnqxUElC1I26Y=",
|
"narHash": "sha256-OGXsTE5jWhGiFfK6OwMvjksrYSobsIFUSUzKsexCDxY=",
|
||||||
"owner": "nixos",
|
"owner": "viperML",
|
||||||
"repo": "nixpkgs",
|
"repo": "wrapper-manager",
|
||||||
"rev": "cb9a96f23c491c081b38eab96d22fa958043c9fa",
|
"rev": "801dd9c876fcada046af45543e8c7e0bbccf20ea",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "viperML",
|
||||||
"ref": "nixos-unstable",
|
"repo": "wrapper-manager",
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
128
flake.nix
128
flake.nix
@@ -2,59 +2,117 @@
|
|||||||
description = "Nixos config flake";
|
description = "Nixos config flake";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
|
||||||
|
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
home-manager.url = "github:nix-community/home-manager/release-25.05";
|
||||||
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
home-manager = {
|
sops-nix.url = "github:Mic92/sops-nix";
|
||||||
url = "github:nix-community/home-manager/release-24.05";
|
sops-nix.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
sops-nix = {
|
musnix.url = "github:musnix/musnix";
|
||||||
url = "github:Mic92/sops-nix";
|
musnix.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
musnix = {url = "github:musnix/musnix";};
|
wrapper-manager.url = "github:viperML/wrapper-manager";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = {
|
outputs = {
|
||||||
self,
|
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
|
nixpkgs-unstable,
|
||||||
home-manager,
|
home-manager,
|
||||||
sops-nix,
|
sops-nix,
|
||||||
|
musnix,
|
||||||
...
|
...
|
||||||
} @ inputs: let
|
} @ inputs: let
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
unstable = final: prev: {
|
|
||||||
unstable = import inputs.unstable {
|
|
||||||
system = final.system;
|
|
||||||
config = final.config;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
pkgs = import nixpkgs {
|
pkgs = import nixpkgs {
|
||||||
inherit system;
|
inherit system;
|
||||||
overlays = [unstable];
|
overlays = [
|
||||||
config.allowUnfree = true;
|
# make unstable packages available via overlay
|
||||||
|
(final: prev: {
|
||||||
|
unstable = nixpkgs-unstable.legacyPackages.${prev.system};
|
||||||
|
})
|
||||||
|
];
|
||||||
|
config = {
|
||||||
|
allowUnfreePredicate = pkg:
|
||||||
|
builtins.elem (nixpkgs.lib.getName pkg) [
|
||||||
|
"discord"
|
||||||
|
"samsung-unified-linux-driver"
|
||||||
|
"steam"
|
||||||
|
"steam-unwrapped"
|
||||||
|
"stm32cubemx"
|
||||||
|
"obsidian"
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
nixosConfigurations."MaxNixosLaptop" = nixpkgs.lib.nixosSystem {
|
nixosConfigurations = {
|
||||||
specialArgs = {
|
"MaxNixosLaptop" = nixpkgs.lib.nixosSystem {
|
||||||
inherit inputs;
|
inherit system;
|
||||||
inherit pkgs;
|
specialArgs = {
|
||||||
|
inherit inputs system;
|
||||||
|
};
|
||||||
|
modules = [
|
||||||
|
./hosts/MaxNixosLaptop/configuration.nix
|
||||||
|
sops-nix.nixosModules.sops
|
||||||
|
home-manager.nixosModules.default
|
||||||
|
{
|
||||||
|
home-manager.useGlobalPkgs = true;
|
||||||
|
home-manager.useUserPackages = true;
|
||||||
|
home-manager.sharedModules = [
|
||||||
|
sops-nix.homeManagerModules.sops
|
||||||
|
];
|
||||||
|
}
|
||||||
|
musnix.nixosModules.musnix
|
||||||
|
{
|
||||||
|
nixpkgs = {
|
||||||
|
overlays = [
|
||||||
|
# make unstable packages available via overlay
|
||||||
|
(final: prev: {
|
||||||
|
unstable = nixpkgs-unstable.legacyPackages.${prev.system};
|
||||||
|
})
|
||||||
|
];
|
||||||
|
config = {
|
||||||
|
allowUnfreePredicate = pkg:
|
||||||
|
builtins.elem (nixpkgs.lib.getName pkg) [
|
||||||
|
"discord"
|
||||||
|
"samsung-unified-linux-driver"
|
||||||
|
"steam"
|
||||||
|
"steam-unwrapped"
|
||||||
|
"stm32cubemx"
|
||||||
|
"obsidian"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
ServerIso = nixpkgs.lib.nixosSystem {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
modules = [
|
||||||
|
#./machine.nix
|
||||||
|
(nixpkgs
|
||||||
|
+ "/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix")
|
||||||
|
(nixpkgs + "/nixos/modules/installer/cd-dvd/channel.nix")
|
||||||
|
({pkgs, ...}: {
|
||||||
|
# Enable SSH in the boot process.
|
||||||
|
systemd.services.sshd.wantedBy =
|
||||||
|
pkgs.lib.mkForce ["multi-user.target"];
|
||||||
|
users.users.root.openssh.authorizedKeys.keys = [
|
||||||
|
# your ssh key
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOLRNvgrjnBizuruEm6htmvc6F1uGath9T7WjAh6ogPD root@host"
|
||||||
|
];
|
||||||
|
isoImage.squashfsCompression = "gzip -Xcompression-level 1";
|
||||||
|
networking = {
|
||||||
|
usePredictableInterfaceNames = false;
|
||||||
|
useDHCP = true;
|
||||||
|
nameservers = ["1.1.1.1"];
|
||||||
|
hostName = "host";
|
||||||
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
};
|
};
|
||||||
system = "x86_64-linux";
|
|
||||||
modules = [
|
|
||||||
./hosts/MaxNixosLaptop/configuration.nix
|
|
||||||
sops-nix.nixosModules.sops
|
|
||||||
home-manager.nixosModules.default
|
|
||||||
{
|
|
||||||
home-manager.useGlobalPkgs = true;
|
|
||||||
home-manager.useUserPackages = true;
|
|
||||||
}
|
|
||||||
inputs.musnix.nixosModules.musnix
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
# your system. Help is available in the configuration.nix(5) man page
|
# your system. Help is available in the configuration.nix(5) man page
|
||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||||
{
|
{
|
||||||
config,
|
|
||||||
pkgs,
|
pkgs,
|
||||||
inputs,
|
inputs,
|
||||||
...
|
...
|
||||||
@@ -19,42 +18,24 @@
|
|||||||
desktop = true;
|
desktop = true;
|
||||||
gpu.amd.enable = true;
|
gpu.amd.enable = true;
|
||||||
laptop = true;
|
laptop = true;
|
||||||
|
network.hostName = "MaxNixosLaptop";
|
||||||
};
|
};
|
||||||
|
|
||||||
networking.hostName = "MaxNixosLaptop"; # Define your hostname.
|
|
||||||
|
|
||||||
# NIXOS
|
|
||||||
nix.settings.experimental-features = ["nix-command" "flakes"];
|
|
||||||
|
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
users.users.max = {
|
|
||||||
isNormalUser = true;
|
|
||||||
description = "Max Känner";
|
|
||||||
extraGroups = ["networkmanager" "wheel" "libvirtd" "dialout"];
|
|
||||||
shell = pkgs.zsh;
|
|
||||||
};
|
|
||||||
|
|
||||||
home-manager = {
|
|
||||||
extraSpecialArgs = {inherit inputs;};
|
|
||||||
users = {
|
|
||||||
"max" = import ./home.nix;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# List packages installed in system profile. To search, run:
|
# List packages installed in system profile. To search, run:
|
||||||
# $ nix search wget
|
# $ nix search wget
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
bambu-studio
|
bambu-studio
|
||||||
unstable.neovim
|
neovim
|
||||||
wget
|
wget
|
||||||
fprintd
|
fprintd
|
||||||
qemu
|
qemu
|
||||||
quickemu
|
|
||||||
home-manager
|
home-manager
|
||||||
(let
|
(let
|
||||||
base = pkgs.appimageTools.defaultFhsEnvArgs;
|
base = appimageTools.defaultFhsEnvArgs;
|
||||||
in
|
in
|
||||||
pkgs.buildFHSUserEnv (base
|
buildFHSEnv (base
|
||||||
// {
|
// {
|
||||||
name = "fhs";
|
name = "fhs";
|
||||||
targetPkgs = pkgs: (
|
targetPkgs = pkgs: (
|
||||||
@@ -76,117 +57,21 @@
|
|||||||
}))
|
}))
|
||||||
];
|
];
|
||||||
|
|
||||||
fonts.packages = with pkgs; [
|
|
||||||
nerdfonts
|
|
||||||
montserrat
|
|
||||||
];
|
|
||||||
|
|
||||||
# Some programs need SUID wrappers, can be configured further or are
|
|
||||||
# started in user sessions.
|
|
||||||
# programs.mtr.enable = true;
|
|
||||||
# programs.gnupg.agent = {
|
|
||||||
# enable = true;
|
|
||||||
# enableSSHSupport = true;
|
|
||||||
# };
|
|
||||||
programs.ssh.startAgent = true;
|
|
||||||
programs.nix-ld.enable = true;
|
|
||||||
programs.nix-ld.libraries = with pkgs; [
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.zsh.enable = true;
|
|
||||||
programs.steam.enable = true;
|
|
||||||
|
|
||||||
security.polkit.enable = true;
|
|
||||||
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
|
||||||
|
|
||||||
virtualisation = {
|
|
||||||
podman = {
|
|
||||||
enable = true;
|
|
||||||
defaultNetwork.settings.dns_enabled = true;
|
|
||||||
};
|
|
||||||
libvirtd = {
|
|
||||||
enable = true;
|
|
||||||
qemu = {
|
|
||||||
package = pkgs.qemu_kvm;
|
|
||||||
runAsRoot = true;
|
|
||||||
swtpm.enable = true;
|
|
||||||
ovmf = {
|
|
||||||
enable = true;
|
|
||||||
packages = [
|
|
||||||
(pkgs.unstable.OVMF.override {
|
|
||||||
secureBoot = true;
|
|
||||||
tpmSupport = true;
|
|
||||||
})
|
|
||||||
.fd
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# List services that you want to enable:
|
|
||||||
|
|
||||||
# fingerprint unlock
|
# fingerprint unlock
|
||||||
services.fprintd.enable = true;
|
services.fprintd.enable = true;
|
||||||
|
|
||||||
hardware.bluetooth = {
|
|
||||||
enable = true;
|
|
||||||
powerOnBoot = true;
|
|
||||||
};
|
|
||||||
services.blueman.enable = true;
|
|
||||||
|
|
||||||
services.udisks2.enable = true;
|
services.udisks2.enable = true;
|
||||||
|
|
||||||
services.udev = {
|
services.udev = {
|
||||||
enable = true;
|
enable = true;
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
picoprobe-udev-rules
|
picoprobe-udev-rules
|
||||||
teensy-udev-rules
|
|
||||||
qmk-udev-rules
|
qmk-udev-rules
|
||||||
game-devices-udev-rules
|
game-devices-udev-rules
|
||||||
android-udev-rules
|
android-udev-rules
|
||||||
];
|
];
|
||||||
extraRules = ''
|
|
||||||
ACTION=="add", KERNEL=="event[0-9]*", DEVPATH="/devices/platform/AMDI0010:02/i2c-2/i2c-ELAN2513:00/0018:04F3:2D9C.0001/input/input[0-9]*/event[0-9]*", SYMLINK+="touchscreen0"
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
|
|
||||||
services.pipewire = {
|
|
||||||
enable = true;
|
|
||||||
alsa.enable = true;
|
|
||||||
jack.enable = true;
|
|
||||||
pulse.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable the OpenSSH daemon.
|
|
||||||
# services.openssh.enable = true;
|
|
||||||
|
|
||||||
# Open ports in the firewall.
|
|
||||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
|
||||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
|
||||||
# Or disable the firewall altogether.
|
|
||||||
# networking.firewall.enable = false;
|
|
||||||
|
|
||||||
system.autoUpgrade = {
|
|
||||||
enable = true;
|
|
||||||
flake = inputs.self.outPath;
|
|
||||||
flags = [
|
|
||||||
"--update-input"
|
|
||||||
"nixpkgs"
|
|
||||||
"-L"
|
|
||||||
];
|
|
||||||
dates = "09:00";
|
|
||||||
randomizedDelaySec = "45min";
|
|
||||||
};
|
|
||||||
|
|
||||||
nix.gc = {
|
|
||||||
automatic = true;
|
|
||||||
dates = "10:00";
|
|
||||||
randomizedDelaySec = "45min";
|
|
||||||
options = "--delete-older-than 14d";
|
|
||||||
};
|
|
||||||
nix.settings.auto-optimise-store = true;
|
|
||||||
|
|
||||||
# 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
|
||||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||||
|
|||||||
@@ -22,6 +22,11 @@ in {
|
|||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
restore_paused "yes"
|
restore_paused "yes"
|
||||||
auto_update "yes"
|
auto_update "yes"
|
||||||
|
|
||||||
|
audio_output {
|
||||||
|
type "pipewire"
|
||||||
|
name "PipeWire Sound Server"
|
||||||
|
}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
services.mpd-mpris.enable = true;
|
services.mpd-mpris.enable = true;
|
||||||
|
|||||||
@@ -2,11 +2,12 @@
|
|||||||
lib,
|
lib,
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
inputs,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
cfg = config.myConfig.programs;
|
cfg = config.myConfig.programs;
|
||||||
in {
|
in {
|
||||||
imports = [./foot.nix ./thunderbird.nix ./nextcloud.nix ./udiskie.nix];
|
imports = [./foot.nix ./thunderbird.nix ./nextcloud.nix ./udiskie.nix ./wezterm.nix ./rclone.nix];
|
||||||
|
|
||||||
options.myConfig.programs = {
|
options.myConfig.programs = {
|
||||||
enable = lib.mkEnableOption "programs for desktop use";
|
enable = lib.mkEnableOption "programs for desktop use";
|
||||||
@@ -15,19 +16,32 @@ in {
|
|||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
myConfig.programs = {
|
myConfig.programs = {
|
||||||
foot.enable = lib.mkDefault true;
|
foot.enable = lib.mkDefault true;
|
||||||
|
wezterm.enable = lib.mkDefault true;
|
||||||
thunderbird.enable = lib.mkDefault true;
|
thunderbird.enable = lib.mkDefault true;
|
||||||
nextcloud.enable = lib.mkDefault true;
|
rclone.enable = lib.mkDefault true;
|
||||||
udiskie.enable = lib.mkDefault true;
|
udiskie.enable = lib.mkDefault true;
|
||||||
};
|
};
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
(inputs.wrapper-manager.lib.wrapWith pkgs {
|
||||||
|
basePackage = element-desktop;
|
||||||
|
prependFlags = ["--enable-features=UseOzonePlatform,WebRTCPipeWireCapturer" "--ozone-platform=wayland"];
|
||||||
|
})
|
||||||
|
(inputs.wrapper-manager.lib.wrapWith pkgs {
|
||||||
|
basePackage = discord;
|
||||||
|
prependFlags = ["--enable-features=UseOzonePlatform,WebRTCPipeWireCapturer" "--ozone-platform=wayland"];
|
||||||
|
})
|
||||||
|
(inputs.wrapper-manager.lib.wrapWith pkgs {
|
||||||
|
basePackage = obsidian;
|
||||||
|
prependFlags = ["--enable-features=UseOzonePlatform" "--ozone-platform=wayland"];
|
||||||
|
})
|
||||||
unzip
|
unzip
|
||||||
firefox
|
firefox
|
||||||
xournalpp
|
xournalpp
|
||||||
prismlauncher
|
prismlauncher
|
||||||
steam
|
steam
|
||||||
blender
|
blender
|
||||||
unstable.betaflight-configurator
|
betaflight-configurator
|
||||||
loudgain
|
loudgain
|
||||||
yt-dlp
|
yt-dlp
|
||||||
dconf
|
dconf
|
||||||
@@ -36,20 +50,24 @@ in {
|
|||||||
sops
|
sops
|
||||||
pwvucontrol
|
pwvucontrol
|
||||||
qpwgraph
|
qpwgraph
|
||||||
discord
|
|
||||||
libreoffice-fresh
|
libreoffice-fresh
|
||||||
mate.caja
|
mate.caja
|
||||||
libsForQt5.okular
|
mate.atril
|
||||||
mpv
|
mpv
|
||||||
gimp
|
gimp
|
||||||
freecad
|
freecad
|
||||||
wine
|
wine
|
||||||
gyroflow
|
|
||||||
prusa-slicer
|
prusa-slicer
|
||||||
kicad
|
kicad
|
||||||
element-desktop
|
|
||||||
chromium
|
chromium
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
|
gimp
|
||||||
|
godot_4
|
||||||
|
ripgrep-all
|
||||||
|
flatpak
|
||||||
|
marksman
|
||||||
|
alejandra
|
||||||
|
openssl
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,23 +18,26 @@ in {
|
|||||||
dpi-aware = "yes";
|
dpi-aware = "yes";
|
||||||
};
|
};
|
||||||
colors = {
|
colors = {
|
||||||
regular0 = "222222"; # black
|
background = "0a0807";
|
||||||
regular1 = "cc9393"; # red
|
foreground = "e6e2de";
|
||||||
regular2 = "7f9f7f"; # green
|
|
||||||
regular3 = "d0bf8f"; # yellow
|
|
||||||
regular4 = "8cd0d3"; # blue
|
|
||||||
regular5 = "dc8cc3"; # magenta
|
|
||||||
regular6 = "93e0e3"; # cyan
|
|
||||||
regular7 = "dcdccc"; # white
|
|
||||||
|
|
||||||
bright0 = "666666"; # black
|
regular0 = "26211e"; # black
|
||||||
bright1 = "dca3a3"; # red
|
regular1 = "f75b72"; # red
|
||||||
bright2 = "bfebbf"; # green
|
regular2 = "67af34"; # green
|
||||||
bright3 = "f0dfaf"; # yellow
|
regular3 = "c98b1a"; # yellow
|
||||||
bright4 = "8cd0d3"; # blue
|
regular4 = "509af6"; # blue
|
||||||
bright5 = "fcace3"; # magenta
|
regular5 = "ca64f3"; # magenta
|
||||||
bright6 = "b3ffff"; # cyan
|
regular6 = "1faeae"; # cyan
|
||||||
bright7 = "ffffff"; # white
|
regular7 = "c1b7b0"; # white
|
||||||
|
|
||||||
|
bright0 = "585049"; # black
|
||||||
|
bright1 = "fb8590"; # red
|
||||||
|
bright2 = "75c73b"; # green
|
||||||
|
bright3 = "e49f27"; # yellow
|
||||||
|
bright4 = "77b1fb"; # blue
|
||||||
|
bright5 = "d68af7"; # magenta
|
||||||
|
bright6 = "24c6c6"; # cyan
|
||||||
|
bright7 = "f2f0ef"; # white
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
127
modules/home/programs/rclone.nix
Normal file
127
modules/home/programs/rclone.nix
Normal file
@@ -0,0 +1,127 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.myConfig.programs.rclone;
|
||||||
|
in {
|
||||||
|
options.myConfig.programs.rclone = {
|
||||||
|
enable = lib.mkEnableOption "nextcloud sync using rclone";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
sops = {
|
||||||
|
age.keyFile = "/home/max/.config/sops/age/keys.txt";
|
||||||
|
secrets = {
|
||||||
|
"cloud/url" = {
|
||||||
|
sopsFile = ../../../secrets/rclone.yaml;
|
||||||
|
};
|
||||||
|
"cloud/user" = {
|
||||||
|
sopsFile = ../../../secrets/rclone.yaml;
|
||||||
|
};
|
||||||
|
"cloud/pass" = {
|
||||||
|
sopsFile = ../../../secrets/rclone.yaml;
|
||||||
|
};
|
||||||
|
"luhbots/url" = {
|
||||||
|
sopsFile = ../../../secrets/rclone.yaml;
|
||||||
|
};
|
||||||
|
"luhbots/user" = {
|
||||||
|
sopsFile = ../../../secrets/rclone.yaml;
|
||||||
|
};
|
||||||
|
"luhbots/pass" = {
|
||||||
|
sopsFile = ../../../secrets/rclone.yaml;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
templates."rclone.conf".content = ''
|
||||||
|
[cloud]
|
||||||
|
type = webdav
|
||||||
|
url = ${config.sops.placeholder."cloud/url"}
|
||||||
|
vendor = nextcloud
|
||||||
|
user = ${config.sops.placeholder."cloud/user"}
|
||||||
|
pass = ${config.sops.placeholder."cloud/pass"}
|
||||||
|
nextcloud_chunk_size = 128M
|
||||||
|
checkers = 1
|
||||||
|
transfers = 1
|
||||||
|
|
||||||
|
[luhbots]
|
||||||
|
type = webdav
|
||||||
|
url = ${config.sops.placeholder."luhbots/url"}
|
||||||
|
vendor = nextcloud
|
||||||
|
user = ${config.sops.placeholder."luhbots/user"}
|
||||||
|
pass = ${config.sops.placeholder."luhbots/pass"}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = with pkgs; [rclone fuse3];
|
||||||
|
|
||||||
|
systemd.user = {
|
||||||
|
services = {
|
||||||
|
luhbots-mount = {
|
||||||
|
Unit = {
|
||||||
|
Description = "Mount the luhbots nextcloud";
|
||||||
|
After = ["network-online.target"];
|
||||||
|
};
|
||||||
|
Service = {
|
||||||
|
Type = "notify";
|
||||||
|
ExecStartPre = "${pkgs.coreutils}/bin/mkdir -p \"%h/luhbots Nextcloud\"";
|
||||||
|
ExecStart = "${pkgs.rclone}/bin/rclone --config=${config.sops.templates."rclone.conf".path} --vfs-cache-mode full --vfs-cache-max-age 1w mount \"luhbots:\" \"%h/luhbots Nextcloud\"";
|
||||||
|
ExecStop = "/bin/fusermount -u \"%h/luhbots Nextcloud\"";
|
||||||
|
Environment = ["PATH=/run/wrappers/bin/:$PATH"];
|
||||||
|
};
|
||||||
|
Install.WantedBy = ["default.target"];
|
||||||
|
};
|
||||||
|
music-mount = {
|
||||||
|
Unit = {
|
||||||
|
Description = "Mount the music directory from my cloud";
|
||||||
|
After = ["network-online.target"];
|
||||||
|
};
|
||||||
|
Service = {
|
||||||
|
Type = "notify";
|
||||||
|
ExecStartPre = "${pkgs.coreutils}/bin/mkdir -p \"%h/Music\"";
|
||||||
|
ExecStart = "${pkgs.rclone}/bin/rclone --config=${config.sops.templates."rclone.conf".path} --vfs-cache-mode full --vfs-cache-max-age 1w mount \"cloud:Music\" \"%h/Music\"";
|
||||||
|
ExecStop = "/bin/fusermount -u \"%h/Music\"";
|
||||||
|
Environment = ["PATH=/run/wrappers/bin/:$PATH"];
|
||||||
|
};
|
||||||
|
Install.WantedBy = ["default.target"];
|
||||||
|
};
|
||||||
|
videos-mount = {
|
||||||
|
Unit = {
|
||||||
|
Description = "Mount the videos directory from my cloud";
|
||||||
|
After = ["network-online.target"];
|
||||||
|
};
|
||||||
|
Service = {
|
||||||
|
Type = "notify";
|
||||||
|
ExecStartPre = "${pkgs.coreutils}/bin/mkdir -p \"%h/Videos\"";
|
||||||
|
ExecStart = "${pkgs.rclone}/bin/rclone --config=${config.sops.templates."rclone.conf".path} --vfs-cache-mode full --vfs-cache-max-age 1w mount \"cloud:Videos\" \"%h/Videos\"";
|
||||||
|
ExecStop = "/bin/fusermount -u \"%h/Videos\"";
|
||||||
|
Environment = ["PATH=/run/wrappers/bin/:$PATH"];
|
||||||
|
};
|
||||||
|
Install.WantedBy = ["default.target"];
|
||||||
|
};
|
||||||
|
sync-Documents = {
|
||||||
|
Unit = {
|
||||||
|
Description = "Sync the Documents folder with the cloud Documents folder using bisync";
|
||||||
|
After = ["network-online.target"];
|
||||||
|
};
|
||||||
|
Service = {
|
||||||
|
Type = "oneshot";
|
||||||
|
ExecStart = "${pkgs.rclone}/bin/rclone --config=${config.sops.templates."rclone.conf".path} --resilient --recover -v --conflict-resolve newer --exclude-from %h/Documents/sync-exclude.txt bisync cloud:Documents %h/Documents";
|
||||||
|
};
|
||||||
|
Install.WantedBy = ["default.target"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
timers = {
|
||||||
|
sync-Documents = {
|
||||||
|
Unit.Description = "Sync Documents folder every half hour";
|
||||||
|
Timer = {
|
||||||
|
OnBootSec = "15min";
|
||||||
|
OnUnitActiveSec = "30min";
|
||||||
|
};
|
||||||
|
Install.WantedBy = ["timers.target"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -61,6 +61,28 @@ in {
|
|||||||
thunderbird.enable = true;
|
thunderbird.enable = true;
|
||||||
};
|
};
|
||||||
"luhbots" = {
|
"luhbots" = {
|
||||||
|
address = "max.kaenner@luhbots-hannover.de";
|
||||||
|
userName = "max.kaenner@luhbots-hannover.de";
|
||||||
|
realName = "Max Känner";
|
||||||
|
imap = {
|
||||||
|
host = "mxe96b.netcup.net";
|
||||||
|
port = 993;
|
||||||
|
tls = {
|
||||||
|
enable = true;
|
||||||
|
useStartTls = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
smtp = {
|
||||||
|
host = "mxe96b.netcup.net";
|
||||||
|
port = 465;
|
||||||
|
tls = {
|
||||||
|
enable = true;
|
||||||
|
useStartTls = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
thunderbird.enable = true;
|
||||||
|
};
|
||||||
|
"luhbots-alt" = {
|
||||||
address = "max.kaenner@luhbots.de";
|
address = "max.kaenner@luhbots.de";
|
||||||
userName = "max.kaenner@luhbots.de";
|
userName = "max.kaenner@luhbots.de";
|
||||||
realName = "Max Känner";
|
realName = "Max Känner";
|
||||||
@@ -104,6 +126,23 @@ in {
|
|||||||
};
|
};
|
||||||
thunderbird.enable = true;
|
thunderbird.enable = true;
|
||||||
};
|
};
|
||||||
|
"max mkaenner" = {
|
||||||
|
address = "max@mkaenner.de";
|
||||||
|
aliases = ["admin@mkaenner.de"];
|
||||||
|
userName = "max@mkaenner.de";
|
||||||
|
realName = "Max Känner";
|
||||||
|
imap = {
|
||||||
|
host = "mail.mkaenner.de";
|
||||||
|
port = 993;
|
||||||
|
tls.enable = true;
|
||||||
|
};
|
||||||
|
smtp = {
|
||||||
|
host = "mail.mkaenner.de";
|
||||||
|
port = 465;
|
||||||
|
tls.enable = true;
|
||||||
|
};
|
||||||
|
thunderbird.enable = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.thunderbird = {
|
programs.thunderbird = {
|
||||||
|
|||||||
56
modules/home/programs/wezterm.nix
Normal file
56
modules/home/programs/wezterm.nix
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.myConfig.programs.wezterm;
|
||||||
|
in {
|
||||||
|
options.myConfig.programs.wezterm = {
|
||||||
|
enable = lib.mkEnableOption "wezterm, a wayland terminal emulator";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
programs.wezterm = {
|
||||||
|
enable = true;
|
||||||
|
enableBashIntegration = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
colorSchemes = {
|
||||||
|
myTheme = {
|
||||||
|
ansi = [
|
||||||
|
"#26211e"
|
||||||
|
"#f75b72"
|
||||||
|
"#67af34"
|
||||||
|
"#c98b1a"
|
||||||
|
"#509af6"
|
||||||
|
"#ca64f3"
|
||||||
|
"#1faeae"
|
||||||
|
"#c1b7b0"
|
||||||
|
];
|
||||||
|
brights = [
|
||||||
|
"#585049"
|
||||||
|
"#fb8590"
|
||||||
|
"#75c73b"
|
||||||
|
"#e49f27"
|
||||||
|
"#77b1fb"
|
||||||
|
"#d68af7"
|
||||||
|
"#24c6c6"
|
||||||
|
"#f2f0ef"
|
||||||
|
];
|
||||||
|
background = "#0a0807";
|
||||||
|
foreground = "#e6e2de";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
extraConfig = ''
|
||||||
|
local wezterm = require 'wezterm'
|
||||||
|
local config = wezterm.config_builder()
|
||||||
|
|
||||||
|
config.font = wezterm.font 'FiraCode Nerd Font Mono'
|
||||||
|
config.front_end = 'WebGpu'
|
||||||
|
config.enable_tab_bar = false
|
||||||
|
config.color_scheme = 'myTheme'
|
||||||
|
|
||||||
|
return config
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -44,6 +44,8 @@ in {
|
|||||||
net_auto = false;
|
net_auto = false;
|
||||||
show_battery = true;
|
show_battery = true;
|
||||||
selected_battery = "Auto";
|
selected_battery = "Auto";
|
||||||
|
gpu_mirror_graph = false;
|
||||||
|
custom_gpu_name0 = "Internal";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ in {
|
|||||||
extraLuaConfig = ''
|
extraLuaConfig = ''
|
||||||
-- This file simply bootstraps the installation of Lazy.nvim and then calls other files for execution
|
-- This file simply bootstraps the installation of Lazy.nvim and then calls other files for execution
|
||||||
-- This file doesn't necessarily need to be touched, BE CAUTIOUS editing this file and proceed at your own risk.
|
-- This file doesn't necessarily need to be touched, BE CAUTIOUS editing this file and proceed at your own risk.
|
||||||
|
vim.g.gcc_bin_path = '${lib.getExe pkgs.gcc}'
|
||||||
local lazypath = vim.env.LAZY or vim.fn.stdpath "data" .. "/lazy/lazy.nvim"
|
local lazypath = vim.env.LAZY or vim.fn.stdpath "data" .. "/lazy/lazy.nvim"
|
||||||
if not (vim.env.LAZY or (vim.uv or vim.loop).fs_stat(lazypath)) then
|
if not (vim.env.LAZY or (vim.uv or vim.loop).fs_stat(lazypath)) then
|
||||||
-- stylua: ignore
|
-- stylua: ignore
|
||||||
@@ -48,8 +49,25 @@ in {
|
|||||||
zig
|
zig
|
||||||
cargo
|
cargo
|
||||||
rust-analyzer
|
rust-analyzer
|
||||||
rustup
|
|
||||||
nodejs
|
nodejs
|
||||||
|
nixd
|
||||||
|
alejandra
|
||||||
|
python3Full
|
||||||
|
neocmakelsp
|
||||||
|
ripgrep
|
||||||
|
gdu
|
||||||
|
bottom
|
||||||
|
luajitPackages.luarocks-nix
|
||||||
|
lua
|
||||||
|
go
|
||||||
|
statix
|
||||||
|
deadnix
|
||||||
|
tree-sitter
|
||||||
|
texliveMedium
|
||||||
|
biber
|
||||||
|
gcc
|
||||||
|
just-lsp
|
||||||
|
marksman
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ return {
|
|||||||
{ import = "astrocommunity.pack.docker" },
|
{ import = "astrocommunity.pack.docker" },
|
||||||
{ import = "astrocommunity.pack.html-css" },
|
{ import = "astrocommunity.pack.html-css" },
|
||||||
{ import = "astrocommunity.pack.json" },
|
{ import = "astrocommunity.pack.json" },
|
||||||
|
{ import = "astrocommunity.pack.just" },
|
||||||
{ import = "astrocommunity.pack.lua" },
|
{ import = "astrocommunity.pack.lua" },
|
||||||
{ import = "astrocommunity.pack.markdown" },
|
{ import = "astrocommunity.pack.markdown" },
|
||||||
{ import = "astrocommunity.pack.nix" },
|
{ import = "astrocommunity.pack.nix" },
|
||||||
|
|||||||
@@ -1,33 +1,31 @@
|
|||||||
require("lazy").setup({
|
require("lazy").setup({
|
||||||
{
|
{
|
||||||
"AstroNvim/AstroNvim",
|
"AstroNvim/AstroNvim",
|
||||||
version = "^4", -- Remove version tracking to elect for nighly AstroNvim
|
version = "^4", -- Remove version tracking to elect for nighly AstroNvim
|
||||||
import = "astronvim.plugins",
|
import = "astronvim.plugins",
|
||||||
opts = { -- AstroNvim options must be set here with the `import` key
|
opts = { -- AstroNvim options must be set here with the `import` key
|
||||||
mapleader = " ", -- This ensures the leader key must be configured before Lazy is set up
|
mapleader = " ", -- This ensures the leader key must be configured before Lazy is set up
|
||||||
maplocalleader = ",", -- This ensures the localleader key must be configured before Lazy is set up
|
maplocalleader = ",", -- This ensures the localleader key must be configured before Lazy is set up
|
||||||
icons_enabled = true, -- Set to false to disable icons (if no Nerd Font is available)
|
icons_enabled = true, -- Set to false to disable icons (if no Nerd Font is available)
|
||||||
pin_plugins = nil, -- Default will pin plugins when tracking `version` of AstroNvim, set to true/false to override
|
pin_plugins = nil, -- Default will pin plugins when tracking `version` of AstroNvim, set to true/false to override
|
||||||
update_notifications = true, -- Enable/disable notification about running `:Lazy update` twice to update pinned plugins
|
update_notifications = true, -- Enable/disable notification about running `:Lazy update` twice to update pinned plugins
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{ import = "community" },
|
{ import = "community" },
|
||||||
{ import = "plugins" },
|
{ import = "plugins" },
|
||||||
} --[[@as LazySpec]], {
|
} --[[@as LazySpec]], {
|
||||||
-- Configure any other `lazy.nvim` configuration options here
|
-- Configure any other `lazy.nvim` configuration options here
|
||||||
install = { colorscheme = { "astrodark", "habamax" } },
|
install = { colorscheme = { "astrodark", "habamax" } },
|
||||||
ui = { backdrop = 100 },
|
ui = { backdrop = 100 },
|
||||||
performance = {
|
performance = {
|
||||||
rtp = {
|
rtp = {
|
||||||
-- disable some rtp plugins, add more to your liking
|
-- disable some rtp plugins, add more to your liking
|
||||||
disabled_plugins = {
|
disabled_plugins = {
|
||||||
"gzip",
|
"gzip",
|
||||||
"netrwPlugin",
|
"tarPlugin",
|
||||||
"tarPlugin",
|
"tohtml",
|
||||||
"tohtml",
|
"zipPlugin",
|
||||||
"zipPlugin",
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
|
||||||
} --[[@as LazyConfig]])
|
} --[[@as LazyConfig]])
|
||||||
|
|
||||||
|
|||||||
@@ -1,35 +1,40 @@
|
|||||||
---@type LazySpec
|
---@type LazySpec
|
||||||
return {
|
return {
|
||||||
"AstroNvim/astrocore",
|
"AstroNvim/astrocore",
|
||||||
opts = {
|
opts = {
|
||||||
options = {
|
options = {
|
||||||
opt = {
|
opt = {
|
||||||
relativenumber = false,
|
relativenumber = false,
|
||||||
number = true,
|
number = true,
|
||||||
spell = true,
|
spell = true,
|
||||||
signcolumn = "yes",
|
signcolumn = "yes",
|
||||||
wrap = true,
|
wrap = true,
|
||||||
colorcolumn = "80,120",
|
colorcolumn = "80,120",
|
||||||
},
|
},
|
||||||
g = {
|
g = {
|
||||||
inlay_hints_enabled = true,
|
inlay_hints_enabled = true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
lsp = {
|
lsp = {
|
||||||
config = {
|
config = {
|
||||||
rust_analyzer = {
|
rust_analyzer = {
|
||||||
settings = {
|
settings = {
|
||||||
["rust-analyzer"] = {
|
["rust-analyzer"] = {
|
||||||
cargo = { buildScripts = { enable = true } },
|
cargo = {
|
||||||
procMacro = { enable = true },
|
buildScripts = { enable = true },
|
||||||
check = {
|
allFeatures = false,
|
||||||
command = "clippy",
|
},
|
||||||
},
|
installCargo = false,
|
||||||
},
|
installRustc = false,
|
||||||
},
|
procMacro = { enable = true },
|
||||||
},
|
check = {
|
||||||
clangd = { capabilities = { offsetEncoding = "utf-8" } },
|
command = "clippy",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
},
|
||||||
|
clangd = { capabilities = { offsetEncoding = "utf-8" } },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
8
modules/home/shell/nvim-lua/plugins/nvim-treesitter.lua
Normal file
8
modules/home/shell/nvim-lua/plugins/nvim-treesitter.lua
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
return {
|
||||||
|
{
|
||||||
|
"nvim-treesitter/nvim-treesitter",
|
||||||
|
config = function ()
|
||||||
|
require("nvim-treesitter.install").compilers = {vim.g.gcc_bin_path}
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,5 +1,52 @@
|
|||||||
---@type LazySpec
|
---@type LazySpec
|
||||||
return {
|
return {
|
||||||
|
-- {
|
||||||
|
-- "catppuccin/nvim",
|
||||||
|
-- name = "catppuccin",
|
||||||
|
-- opts = {
|
||||||
|
-- -- configuration options...
|
||||||
|
-- flavor = "mocha",
|
||||||
|
-- dim_inactive = {
|
||||||
|
-- enable = true,
|
||||||
|
-- shade = "light",
|
||||||
|
-- percentage = 0.15,
|
||||||
|
-- },
|
||||||
|
-- color_overrides = {
|
||||||
|
-- mocha = {
|
||||||
|
-- base = "#26211e",
|
||||||
|
-- crust = "#0a0807",
|
||||||
|
-- mantle = "#585049",
|
||||||
|
-- text = "#e6e2de",
|
||||||
|
-- subtext0 = "#c6c2be",
|
||||||
|
-- subtext1 = "#a6a29e",
|
||||||
|
-- surface0 = "#585049",
|
||||||
|
-- surface1 = "#c1b7b0",
|
||||||
|
-- surface2 = "#f2f0ef",
|
||||||
|
--
|
||||||
|
-- red = "#f75b72",
|
||||||
|
-- green = "#67af34",
|
||||||
|
-- yellow = "#c98b1a",
|
||||||
|
-- blue = "#509af6",
|
||||||
|
-- pink = "#ca64f3",
|
||||||
|
-- teal = "#1faeae",
|
||||||
|
--
|
||||||
|
-- bright_red = "#fb8590",
|
||||||
|
-- bright_green = "#75c73b",
|
||||||
|
-- bright_yellow = "#e49f27",
|
||||||
|
-- bright_blue = "#77b1fb",
|
||||||
|
-- bright_pink = "#d68af7",
|
||||||
|
-- bright_teal = "#24c6c6",
|
||||||
|
-- },
|
||||||
|
-- },
|
||||||
|
-- },
|
||||||
|
-- },
|
||||||
|
-- {
|
||||||
|
-- "AstroNvim/astroui",
|
||||||
|
-- ---@type AstroUIOpts
|
||||||
|
-- opts = {
|
||||||
|
-- colorscheme = "catppuccin",
|
||||||
|
-- },
|
||||||
|
-- },
|
||||||
{
|
{
|
||||||
"p00f/clangd_extensions.nvim",
|
"p00f/clangd_extensions.nvim",
|
||||||
optional = true,
|
optional = true,
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ in {
|
|||||||
};
|
};
|
||||||
syntaxHighlighting.enable = true;
|
syntaxHighlighting.enable = true;
|
||||||
syntaxHighlighting.highlighters = ["main" "brackets"];
|
syntaxHighlighting.highlighters = ["main" "brackets"];
|
||||||
initExtra = ''
|
initContent = ''
|
||||||
# auto completion
|
# auto completion
|
||||||
bindkey '^I' complete-word
|
bindkey '^I' complete-word
|
||||||
bindkey '^[[Z' autosuggest-accept
|
bindkey '^[[Z' autosuggest-accept
|
||||||
|
|||||||
@@ -9,20 +9,20 @@
|
|||||||
rotate_lisgd = pkgs.writeShellScriptBin "rotate_lisgd" ''
|
rotate_lisgd = pkgs.writeShellScriptBin "rotate_lisgd" ''
|
||||||
# PREV_ORIENTATION and ORIENTATION are given by rot8
|
# PREV_ORIENTATION and ORIENTATION are given by rot8
|
||||||
|
|
||||||
LISGD_INPUT=/dev/input/event14
|
LISGD_INPUT=/dev/input/by-path/platform-AMDI0010:02-event
|
||||||
# open nwggrid by swiping up from the bottom edge
|
# open nwggrid by swiping down with 3 fingers
|
||||||
LISGD_ACTIONS=("1,DU,B,*,R,${pkgs.sway}/bin/swaymsg exec ${pkgs.nwg-launchers}/bin/nwggrid -client")
|
LISGD_ACTIONS=("3,UD,*,*,R,${pkgs.nwg-launchers}/bin/nwggrid -client")
|
||||||
# close window by swiping down with 3 fingers
|
# close window by swiping up with 3 fingers
|
||||||
LISGD_ACTIONS+=("3,UD,*,L,R,${pkgs.sway}/bin/swaymsg kill")
|
LISGD_ACTIONS+=("3,DU,*,M,R,${pkgs.sway}/bin/swaymsg kill")
|
||||||
|
|
||||||
# move window left by swiping left with 2 fingers
|
# move window left by swiping left with 2 fingers
|
||||||
LISGD_ACTIONS+=("2,UD,*,*,R,${pkgs.sway}/bin/swaymsg move left")
|
LISGD_ACTIONS+=("2,RL,*,*,R,${pkgs.sway}/bin/swaymsg move left")
|
||||||
# move window down by swiping down with 2 fingers
|
# move window down by swiping down with 2 fingers
|
||||||
LISGD_ACTIONS+=("2,UD,*,*,R,${pkgs.sway}/bin/swaymsg move down")
|
LISGD_ACTIONS+=("2,UD,*,*,R,${pkgs.sway}/bin/swaymsg move down")
|
||||||
# move window up by swiping up with 2 fingers
|
# move window up by swiping up with 2 fingers
|
||||||
LISGD_ACTIONS+=("2,UD,*,*,R,${pkgs.sway}/bin/swaymsg move up")
|
LISGD_ACTIONS+=("2,DU,*,*,R,${pkgs.sway}/bin/swaymsg move up")
|
||||||
# move window right by swiping right with 2 fingers
|
# move window right by swiping right with 2 fingers
|
||||||
LISGD_ACTIONS+=("2,UD,*,*,R,${pkgs.sway}/bin/swaymsg move right")
|
LISGD_ACTIONS+=("2,LR,*,*,R,${pkgs.sway}/bin/swaymsg move right")
|
||||||
|
|
||||||
LISGD_ACTION_OPTIONS=()
|
LISGD_ACTION_OPTIONS=()
|
||||||
for str in "''${LISGD_ACTIONS[@]}"; do
|
for str in "''${LISGD_ACTIONS[@]}"; do
|
||||||
@@ -64,10 +64,20 @@ in {
|
|||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
swaylock # screen locking
|
swaylock # screen locking
|
||||||
swayidle # automatic screen locking after system idle time
|
swayidle # automatic screen locking after system idle time
|
||||||
foot # terminal
|
wezterm # terminal
|
||||||
keepassxc # used for secrets instead of gnome-keyring
|
keepassxc # used for secrets instead of gnome-keyring
|
||||||
|
|
||||||
|
# fonts
|
||||||
|
noto-fonts
|
||||||
|
nerd-fonts.fira-code
|
||||||
|
nerd-fonts.fira-mono
|
||||||
|
fira
|
||||||
];
|
];
|
||||||
|
|
||||||
|
home.sessionVariables = {
|
||||||
|
NIXOS_OZONE_WL = "1";
|
||||||
|
};
|
||||||
|
|
||||||
wayland.windowManager.sway = {
|
wayland.windowManager.sway = {
|
||||||
enable = true;
|
enable = true;
|
||||||
systemd = {
|
systemd = {
|
||||||
@@ -83,31 +93,11 @@ in {
|
|||||||
output = let
|
output = let
|
||||||
bgdir = ../../../assets;
|
bgdir = ../../../assets;
|
||||||
bg1080 = bgdir + "/bg1080.png";
|
bg1080 = bgdir + "/bg1080.png";
|
||||||
bg1080vert = bgdir + "/bg1080vert.png";
|
|
||||||
bg4k = bgdir + "/bg4k.png";
|
|
||||||
in
|
in
|
||||||
lib.mkIf cfg.laptop {
|
lib.mkIf cfg.laptop {
|
||||||
eDP-1 = {
|
eDP-1 = {
|
||||||
bg = "'${bg1080}' fit";
|
bg = "'${bg1080}' fit";
|
||||||
};
|
};
|
||||||
HDMI-A-1 = {
|
|
||||||
bg = "'${bg4k}' fit";
|
|
||||||
};
|
|
||||||
DP-3 = {
|
|
||||||
bg = "'${bg1080}' fit";
|
|
||||||
};
|
|
||||||
DP-4 = {
|
|
||||||
bg = "'${bg1080}' fit";
|
|
||||||
};
|
|
||||||
DP-5 = {
|
|
||||||
bg = "'${bg1080vert}' fit";
|
|
||||||
};
|
|
||||||
DP-6 = {
|
|
||||||
bg = "'${bg1080}' fit";
|
|
||||||
};
|
|
||||||
DP-7 = {
|
|
||||||
bg = "'${bg1080vert}' fit";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
input = {
|
input = {
|
||||||
@@ -122,10 +112,12 @@ in {
|
|||||||
};
|
};
|
||||||
# map laptop touchscreen to laptop display
|
# map laptop touchscreen to laptop display
|
||||||
"1267:11676:ELAN2513:00_04F3:2D9C" = lib.mkIf cfg.laptop {
|
"1267:11676:ELAN2513:00_04F3:2D9C" = lib.mkIf cfg.laptop {
|
||||||
|
tap = "enable";
|
||||||
map_to_output = "'AU Optronics 0x4B2D Unknown'";
|
map_to_output = "'AU Optronics 0x4B2D Unknown'";
|
||||||
};
|
};
|
||||||
# map laptop stylus to laptop display
|
# map laptop stylus to laptop display
|
||||||
"1267:11676:ELAN2513:00_04F3:2D9C_Stylus" = lib.mkIf cfg.laptop {
|
"1267:11676:ELAN2513:00_04F3:2D9C_Stylus" = lib.mkIf cfg.laptop {
|
||||||
|
tap = "enable";
|
||||||
map_to_output = "'AU Optronics 0x4B2D Unknown'";
|
map_to_output = "'AU Optronics 0x4B2D Unknown'";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -140,6 +132,7 @@ in {
|
|||||||
"${modifier}+2" = "workspace term";
|
"${modifier}+2" = "workspace term";
|
||||||
"${modifier}+3" = "workspace msg";
|
"${modifier}+3" = "workspace msg";
|
||||||
"${modifier}+4" = "workspace music";
|
"${modifier}+4" = "workspace music";
|
||||||
|
"${modifier}+o" = "workspace obsidian";
|
||||||
"${modifier}+Shift+1" = "move container to workspace main";
|
"${modifier}+Shift+1" = "move container to workspace main";
|
||||||
"${modifier}+Shift+2" = "move container to workspace term";
|
"${modifier}+Shift+2" = "move container to workspace term";
|
||||||
"${modifier}+Shift+3" = "move container to workspace msg";
|
"${modifier}+Shift+3" = "move container to workspace msg";
|
||||||
@@ -150,8 +143,8 @@ in {
|
|||||||
"${modifier}+Shift+Print" = ''exec ${pkgs.wf-recorder}/bin/wf-recorder -g "$(${pkgs.slurp}/bin/slurp)" -f "$HOME/Videos/screencapture_$(${pkgs.coreutils}/bin/date +%F-%T).mp4"'';
|
"${modifier}+Shift+Print" = ''exec ${pkgs.wf-recorder}/bin/wf-recorder -g "$(${pkgs.slurp}/bin/slurp)" -f "$HOME/Videos/screencapture_$(${pkgs.coreutils}/bin/date +%F-%T).mp4"'';
|
||||||
|
|
||||||
# brightness
|
# brightness
|
||||||
"XF86MonBrightnessDown" = "exec ${pkgs.light}/bin/light -U 5";
|
"XF86MonBrightnessDown" = "exec ${pkgs.light}/bin/light -T 0.9";
|
||||||
"XF86MonBrightnessUp" = "exec ${pkgs.light}/bin/light -A 5";
|
"XF86MonBrightnessUp" = "exec ${pkgs.light}/bin/light -T 1.1";
|
||||||
# volume
|
# volume
|
||||||
"XF86AudioRaiseVolume" = "exec '${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ +1%'";
|
"XF86AudioRaiseVolume" = "exec '${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ +1%'";
|
||||||
"XF86AudioLowerVolume" = "exec '${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ -1%'";
|
"XF86AudioLowerVolume" = "exec '${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ -1%'";
|
||||||
@@ -162,18 +155,20 @@ in {
|
|||||||
};
|
};
|
||||||
menu = "${pkgs.nwg-launchers}/bin/nwggrid -client";
|
menu = "${pkgs.nwg-launchers}/bin/nwggrid -client";
|
||||||
|
|
||||||
# use foot as default terminal
|
# use wezterm as default terminal
|
||||||
terminal = "${pkgs.foot}/bin/foot";
|
terminal = "${pkgs.wezterm}/bin/wezterm";
|
||||||
assigns = {
|
assigns = {
|
||||||
"main" = [{app_id = "firefox";}];
|
"main" = [{app_id = "firefox";}];
|
||||||
"term" = [{app_id = "foot-startup";}];
|
"term" = [{app_id = "start-terminal";}];
|
||||||
"msg" = [
|
"msg" = [
|
||||||
{title = "\\[Locked\\] - KeePassXC$";}
|
{title = "\\[Locked\\] - KeePassXC$";}
|
||||||
{app_id = "thunderbird";}
|
{app_id = "thunderbird";}
|
||||||
{app_id = "discord";}
|
{app_id = "discord";}
|
||||||
{app_id = "Element";}
|
{app_id = "Element";}
|
||||||
|
{class = "Element";}
|
||||||
];
|
];
|
||||||
"music" = [{app_id = "org.rncbc.qpwgraph";}];
|
"music" = [{app_id = "org.rncbc.qpwgraph";}];
|
||||||
|
"obsidian" = [{app_id = "obsidian";} {class = "obsidian";}];
|
||||||
};
|
};
|
||||||
bars = [];
|
bars = [];
|
||||||
|
|
||||||
@@ -193,37 +188,51 @@ in {
|
|||||||
{command = "${dbus-sway-environment}/bin/dbus-sway-environment";}
|
{command = "${dbus-sway-environment}/bin/dbus-sway-environment";}
|
||||||
{command = "${pkgs.nwg-launchers}/bin/nwggrid-server -fp";}
|
{command = "${pkgs.nwg-launchers}/bin/nwggrid-server -fp";}
|
||||||
{command = "${pkgs.keepassxc}/bin/keepassxc";}
|
{command = "${pkgs.keepassxc}/bin/keepassxc";}
|
||||||
{command = "${pkgs.foot}/bin/foot -a foot-startup";}
|
{command = "${pkgs.wezterm}/bin/wezterm start --class start-terminal";}
|
||||||
{command = "${pkgs.networkmanagerapplet}/bin/nm-applet";}
|
{command = "${pkgs.networkmanagerapplet}/bin/nm-applet";}
|
||||||
|
{command = "${pkgs.firefox}/bin/firefox";}
|
||||||
|
{command = "${pkgs.obsidian}/bin/obsidian";}
|
||||||
]
|
]
|
||||||
++ lib.optionals cfg.laptop [
|
++ lib.optionals cfg.laptop [
|
||||||
{command = "${pkgs.squeekboard}/bin/squeekboard";}
|
{command = "${pkgs.squeekboard}/bin/squeekboard";}
|
||||||
{command = "${pkgs.rot8}/bin/rot8 -n 10 -h ${rotate_lisgd}/bin/rotate_lisgd";}
|
{command = "${pkgs.rot8}/bin/rot8 -n 10 -h ${rotate_lisgd}/bin/rotate_lisgd";}
|
||||||
{command = "${rotate_lisgd}/bin/rotate_lisgd";}
|
{command = "${rotate_lisgd}/bin/rotate_lisgd";}
|
||||||
];
|
]
|
||||||
|
++ lib.optional cfg.kanshi.enable
|
||||||
|
{
|
||||||
|
command = "${pkgs.kanshi}/bin/kanshictl reload";
|
||||||
|
always = true;
|
||||||
|
};
|
||||||
|
|
||||||
defaultWorkspace = "main";
|
defaultWorkspace = "main";
|
||||||
workspaceAutoBackAndForth = true;
|
workspaceAutoBackAndForth = true;
|
||||||
workspaceOutputAssign = lib.mkIf cfg.laptop [
|
workspaceOutputAssign = lib.mkIf cfg.laptop [
|
||||||
{
|
{
|
||||||
workspace = "main";
|
workspace = "main";
|
||||||
output = ["DP-3" "DP-4" "DP-6" "HDMI-A-1" "eDP-1"];
|
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
workspace = "term";
|
workspace = "term";
|
||||||
output = ["DP-5" "DP-4" "DP-7" "eDP-1"];
|
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
workspace = "msg";
|
workspace = "msg";
|
||||||
output = ["eDP-1"];
|
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
workspace = "music";
|
workspace = "music";
|
||||||
output = ["eDP-1"];
|
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
workspace = "5";
|
workspace = "5";
|
||||||
output = ["DP-3" "DP-4" "DP-6" "HDMI-A-1" "eDP-1"];
|
}
|
||||||
|
{
|
||||||
|
workspace = "obsidian";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
floating.criteria = [
|
||||||
|
{
|
||||||
|
title = "KeePassXC - Access Request";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "Extension: (Tree Style Tab) - Close tabs? — Mozilla Firefox";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
@@ -231,6 +240,7 @@ in {
|
|||||||
extraConfig = lib.mkIf cfg.laptop ''
|
extraConfig = lib.mkIf cfg.laptop ''
|
||||||
bindswitch --reload --locked lid:on exec "[ $(${pkgs.sway}/bin/swaymsg -t get_outputs | ${pkgs.jq}/bin/jq '. | length') -gt 1 ] && ${pkgs.sway}/bin/swaymsg output eDP-1 disable"
|
bindswitch --reload --locked lid:on exec "[ $(${pkgs.sway}/bin/swaymsg -t get_outputs | ${pkgs.jq}/bin/jq '. | length') -gt 1 ] && ${pkgs.sway}/bin/swaymsg output eDP-1 disable"
|
||||||
bindswitch --reload --locked lid:off output eDP-1 enable
|
bindswitch --reload --locked lid:off output eDP-1 enable
|
||||||
|
bindgesture --input-device=\'1267:11676:ELAN2513:00_04F3:2D9C\' swipe:3:down exec ${pkgs.nwg-launchers}/bin/nwggrid -client
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -246,5 +256,16 @@ in {
|
|||||||
show-fai8led-attempts = true;
|
show-fai8led-attempts = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# install fonts
|
||||||
|
fonts.fontconfig = {
|
||||||
|
enable = true;
|
||||||
|
defaultFonts = {
|
||||||
|
emoji = ["Noto Color Emoji"];
|
||||||
|
monospace = ["FiraCode Nerd Fonts" "FiraMono Nerd Font" "FiraMono" "NotoMono Nerd Font"];
|
||||||
|
sansSerif = ["FiraSans" "NotoSans Nerd Font"];
|
||||||
|
serif = ["NotoSerif Nerd Font"];
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,59 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
services.kanshi = {
|
services.kanshi = let
|
||||||
|
bgdir = ../../../assets;
|
||||||
|
bg1080 = bgdir + "/bg1080.png";
|
||||||
|
bg1080vert = bgdir + "/bg1080vert.png";
|
||||||
|
bg4k = bgdir + "/bg4k.png";
|
||||||
|
sway_commands = commands: "${pkgs.sway}/bin/swaymsg '${lib.strings.concatStringsSep ", " commands}'";
|
||||||
|
workspace = workspace: monitor: [
|
||||||
|
''workspace "${workspace}" output "${monitor}"''
|
||||||
|
''workspace --no-auto-back-and-forth ${workspace}''
|
||||||
|
''move workspace to "${monitor}"''
|
||||||
|
];
|
||||||
|
luhbots_workstation = settings: {
|
||||||
|
profile.outputs = [
|
||||||
|
{
|
||||||
|
criteria = "eDP-1";
|
||||||
|
position =
|
||||||
|
if settings.vertical.left
|
||||||
|
then "1080,1080"
|
||||||
|
else "0,1080";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
criteria = settings.horizontal.name;
|
||||||
|
position =
|
||||||
|
if settings.vertical.left
|
||||||
|
then "1080,0"
|
||||||
|
else "0,0";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
criteria = settings.vertical.name;
|
||||||
|
transform = settings.vertical.orientation;
|
||||||
|
position =
|
||||||
|
if settings.vertical.left
|
||||||
|
then "0,0"
|
||||||
|
else "1920,0";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
profile.exec = [
|
||||||
|
(sway_commands (
|
||||||
|
[
|
||||||
|
"output eDP-1 bg ${bg1080} fit"
|
||||||
|
"output \"${settings.horizontal.name}\" bg ${bg4k} fit"
|
||||||
|
"output \"${settings.vertical.name}\" bg ${bg1080vert} fit"
|
||||||
|
]
|
||||||
|
++ (workspace "obsidian" settings.horizontal.name)
|
||||||
|
++ (workspace "5" settings.horizontal.name)
|
||||||
|
++ (workspace "music" "eDP-1")
|
||||||
|
++ (workspace "msg" "eDP-1")
|
||||||
|
++ (workspace "term" settings.vertical.name)
|
||||||
|
++ (workspace "main" settings.horizontal.name)
|
||||||
|
))
|
||||||
|
];
|
||||||
|
};
|
||||||
|
in {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = lib.mkIf cfg.laptop [
|
settings = lib.mkIf cfg.laptop [
|
||||||
{
|
{
|
||||||
@@ -24,102 +76,78 @@ in {
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
{
|
(luhbots_workstation {
|
||||||
profile.outputs = [
|
horizontal.name = "Dell Inc. DELL U2422HE GRCPH83";
|
||||||
{
|
vertical = {
|
||||||
criteria = "eDP-1";
|
name = "NEC Corporation E243WMi 7X313185NB";
|
||||||
position = "0,1080";
|
left = false;
|
||||||
}
|
orientation = "90";
|
||||||
{
|
};
|
||||||
criteria = "Dell Inc. DELL U2422HE GRCPH83";
|
})
|
||||||
position = "0,0";
|
(luhbots_workstation {
|
||||||
}
|
horizontal.name = "Dell Inc. DELL U2422HE 8YCPH83";
|
||||||
{
|
vertical = {
|
||||||
criteria = "NEC Corporation E243WMi 7X313185NB";
|
name = "Dell Inc. DELL P2422HE 28XL9M3";
|
||||||
transform = "90";
|
left = false;
|
||||||
position = "1920,0";
|
orientation = "normal";
|
||||||
}
|
};
|
||||||
];
|
})
|
||||||
profile.exec = [
|
(luhbots_workstation {
|
||||||
"${pkgs.sway}/bin/swaymsg workspace 1, move workspace to DP-4"
|
horizontal.name = "Dell Inc. DELL U2422HE 53DCH83";
|
||||||
"${pkgs.sway}/bin/swaymsg workspace 2, move workspace to DP-5"
|
vertical = {
|
||||||
"${pkgs.sway}/bin/swaymsg workspace 3, move workspace to eDP-1"
|
name = "Dell Inc. DELL U2412M 0FFXD46I4U5S";
|
||||||
"${pkgs.sway}/bin/swaymsg workspace 4, move workspace to eDP-1"
|
left = false;
|
||||||
"${pkgs.sway}/bin/swaymsg workspace 5, move workspace to DP-4"
|
orientation = "90";
|
||||||
];
|
};
|
||||||
}
|
})
|
||||||
{
|
(luhbots_workstation {
|
||||||
profile.outputs = [
|
horizontal.name = "Dell Inc. DELL P2422HE 4BXL9M";
|
||||||
{
|
vertical = {
|
||||||
criteria = "eDP-1";
|
name = "NEC Corporation E243WMi 75309334NB";
|
||||||
position = "1080,1080";
|
left = true;
|
||||||
}
|
orientation = "90";
|
||||||
{
|
};
|
||||||
criteria = "Dell Inc. DELL U2422HE 8YCPH83";
|
})
|
||||||
position = "1080,0";
|
(luhbots_workstation {
|
||||||
}
|
horizontal.name = "Dell Inc. DELL P2422HE JLXL9M3";
|
||||||
{
|
vertical = {
|
||||||
criteria = "NEC Corporation E243WMi 59118576NB";
|
name = "NEC Corporation E243WMi 59118576NB";
|
||||||
transform = "90";
|
left = true;
|
||||||
position = "0,0";
|
orientation = "90";
|
||||||
}
|
};
|
||||||
];
|
})
|
||||||
profile.exec = [
|
(luhbots_workstation {
|
||||||
"${pkgs.sway}/bin/swaymsg workspace 1, move workspace to DP-4"
|
horizontal.name = "Dell Inc. DELL P2422HE 7VWL9M3";
|
||||||
"${pkgs.sway}/bin/swaymsg workspace 2, move workspace to DP-5"
|
vertical = {
|
||||||
"${pkgs.sway}/bin/swaymsg workspace 3, move workspace to eDP-1"
|
name = "ViewSonic Corporation VG2448 V5E201960167";
|
||||||
"${pkgs.sway}/bin/swaymsg workspace 4, move workspace to eDP-1"
|
left = false;
|
||||||
"${pkgs.sway}/bin/swaymsg workspace 5, move workspace to DP-4"
|
orientation = "90";
|
||||||
];
|
};
|
||||||
}
|
})
|
||||||
{
|
(luhbots_workstation {
|
||||||
profile.outputs = [
|
horizontal.name = "Dell Inc. DELL U2422HE 7HCPH83";
|
||||||
{
|
vertical = {
|
||||||
criteria = "eDP-1";
|
name = "Dell Inc. DELL U2422HE 1XFFH83";
|
||||||
position = "0,1080";
|
left = true;
|
||||||
}
|
orientation = "90";
|
||||||
{
|
};
|
||||||
criteria = "Dell Inc. DELL U2422HE 53DCH83";
|
})
|
||||||
position = "0,0";
|
(luhbots_workstation {
|
||||||
}
|
horizontal.name = "Dell Inc. DELL U2422HE 5XY5H83";
|
||||||
{
|
vertical = {
|
||||||
criteria = "Dell Inc. DELL U2412M 0FFXD46I4U5S";
|
name = "Dell Inc. DELL U2419H 11B7Y13";
|
||||||
transform = "90";
|
left = true;
|
||||||
position = "1920,0";
|
orientation = "270";
|
||||||
}
|
};
|
||||||
];
|
})
|
||||||
profile.exec = [
|
(luhbots_workstation {
|
||||||
"${pkgs.sway}/bin/swaymsg workspace 1, move workspace to DP-6"
|
horizontal.name = "Dell Inc. DELL P2422HE 4BXL9M3";
|
||||||
"${pkgs.sway}/bin/swaymsg workspace 2, move workspace to DP-7"
|
vertical = {
|
||||||
"${pkgs.sway}/bin/swaymsg workspace 3, move workspace to eDP-1"
|
name = "NEC Corporation E243WMi 75309334NB";
|
||||||
"${pkgs.sway}/bin/swaymsg workspace 4, move workspace to eDP-1"
|
left = true;
|
||||||
"${pkgs.sway}/bin/swaymsg workspace 5, move workspace to DP-6"
|
orientation = "90";
|
||||||
];
|
};
|
||||||
}
|
})
|
||||||
{
|
|
||||||
profile.outputs = [
|
|
||||||
{
|
|
||||||
criteria = "eDP-1";
|
|
||||||
position = "1080,1080";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
criteria = "Dell Inc. DELL P2422HE 4BXL9M3";
|
|
||||||
position = "1080,0";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
criteria = "NEC Corporation E243WMi 75309334NB";
|
|
||||||
transform = "90";
|
|
||||||
position = "0,0";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
profile.exec = [
|
|
||||||
"${pkgs.sway}/bin/swaymsg workspace 1, move workspace to DP-3"
|
|
||||||
"${pkgs.sway}/bin/swaymsg workspace 2, move workspace to DP-4"
|
|
||||||
"${pkgs.sway}/bin/swaymsg workspace 3, move workspace to eDP-1"
|
|
||||||
"${pkgs.sway}/bin/swaymsg workspace 4, move workspace to eDP-1"
|
|
||||||
"${pkgs.sway}/bin/swaymsg workspace 5, move workspace to DP-3"
|
|
||||||
];
|
|
||||||
}
|
|
||||||
{
|
{
|
||||||
profile.name = "docked-4k";
|
profile.name = "docked-4k";
|
||||||
profile.outputs = [
|
profile.outputs = [
|
||||||
@@ -135,11 +163,85 @@ in {
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
profile.exec = [
|
profile.exec = [
|
||||||
"${pkgs.sway}/bin/swaymsg workspace 1, move workspace to HDMI-A-1"
|
(sway_commands
|
||||||
"${pkgs.sway}/bin/swaymsg workspace 2, move workspace to eDP-1"
|
(
|
||||||
"${pkgs.sway}/bin/swaymsg workspace 3, move workspace to eDP-1"
|
(workspace "obsidian" "HDMI-A-1")
|
||||||
"${pkgs.sway}/bin/swaymsg workspace 4, move workspace to eDP-1"
|
++ (workspace "5" "HDMI-A-1")
|
||||||
"${pkgs.sway}/bin/swaymsg workspace 5, move workspace to HDMI-A-1"
|
++ (workspace "music" "eDP-1")
|
||||||
|
++ (workspace "msg" "eDP-1")
|
||||||
|
++ (workspace "term" "eDP-1")
|
||||||
|
++ (workspace "main" "HDMI-A-1")
|
||||||
|
))
|
||||||
|
];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
profile.outputs = [
|
||||||
|
{
|
||||||
|
criteria = "eDP-1";
|
||||||
|
position = "0,0";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
criteria = "Hisense Electric Co., Ltd. HISENSE 0x00000001";
|
||||||
|
position = "1920,0";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
profile.exec = [
|
||||||
|
(sway_commands
|
||||||
|
(
|
||||||
|
(workspace "mirror" "HDMI-A-1")
|
||||||
|
++ ["exec ${pkgs.wl-mirror}/bin/wl-present mirror eDP-1 --fullscreen-output HDMI-A-1 --fullscreen"]
|
||||||
|
++ (workspace "obsidian" "eDP-1")
|
||||||
|
++ (workspace "5" "eDP-1")
|
||||||
|
++ (workspace "music" "eDP-1")
|
||||||
|
++ (workspace "msg" "eDP-1")
|
||||||
|
++ (workspace "term" "eDP-1")
|
||||||
|
++ (workspace "main" "eDP-1")
|
||||||
|
))
|
||||||
|
];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
profile.outputs = [
|
||||||
|
{
|
||||||
|
criteria = "eDP-1";
|
||||||
|
position = "0,1080";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
criteria = "ViewSonic Corporation VG2448 V5E201864188";
|
||||||
|
position = "0,0";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
profile.exec = [
|
||||||
|
(sway_commands
|
||||||
|
(
|
||||||
|
(workspace "obsidian" "ViewSonic Corporation VG2448 V5E201864188")
|
||||||
|
++ (workspace "5" "ViewSonic Corporation VG2448 V5E201864188")
|
||||||
|
++ (workspace "music" "eDP-1")
|
||||||
|
++ (workspace "msg" "eDP-1")
|
||||||
|
++ (workspace "term" "eDP-1")
|
||||||
|
++ (workspace "main" "ViewSonic Corporation VG2448 V5E201864188")
|
||||||
|
))
|
||||||
|
];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
profile.outputs = [
|
||||||
|
{
|
||||||
|
criteria = "eDP-1";
|
||||||
|
position = "1920,0";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
criteria = "ASUSTek COMPUTER INC ASUS MB16AH R4LMTF099783";
|
||||||
|
position = "0,0";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
profile.exec = [
|
||||||
|
(sway_commands (
|
||||||
|
(workspace "obsidian" "eDP-1")
|
||||||
|
++ (workspace "5" "eDP-1")
|
||||||
|
++ (workspace "music" "ASUSTek COMPUTER INC ASUS MB16AH R4LMTF099783")
|
||||||
|
++ (workspace "msg" "ASUSTek COMPUTER INC ASUS MB16AH R4LMTF099783")
|
||||||
|
++ (workspace "term" "ASUSTek COMPUTER INC ASUS MB16AH R4LMTF099783")
|
||||||
|
++ (workspace "main" "eDP-1")
|
||||||
|
))
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -12,18 +12,20 @@ in {
|
|||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
services.mako = {
|
services.mako = {
|
||||||
enable = true;
|
enable = true;
|
||||||
actions = true;
|
settings = {
|
||||||
anchor = "top-right";
|
actions = true;
|
||||||
|
anchor = "top-right";
|
||||||
|
|
||||||
borderRadius = 10;
|
border-radius = 10;
|
||||||
borderSize = 2;
|
border-size = 2;
|
||||||
height = 100;
|
height = 100;
|
||||||
width = 400;
|
width = 400;
|
||||||
|
|
||||||
defaultTimeout = 10000; # ms
|
default-timeout = 10000; # ms
|
||||||
font = "FiraCode Nerd Font 11";
|
font = "FiraCode Nerd Font 11";
|
||||||
icons = true;
|
icons = true;
|
||||||
markup = true;
|
markup = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -116,15 +116,14 @@ in {
|
|||||||
};
|
};
|
||||||
xsession.enable = true;
|
xsession.enable = true;
|
||||||
|
|
||||||
services.mako = {
|
services.mako.settings = {
|
||||||
backgroundColor = "#313131";
|
background-color = "#313131";
|
||||||
borderColor = "#00FFEE";
|
border-color = "#00FFEE";
|
||||||
progressColor = "#338833";
|
progress-color = "#338833";
|
||||||
textColor = "#e0e0e0";
|
text-color = "#e0e0e0";
|
||||||
extraConfig = ''
|
"urgency=low" = {
|
||||||
[urgency=low]
|
border-color = "#008877";
|
||||||
border-color=#008877
|
};
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,8 +18,9 @@ window#waybar {
|
|||||||
padding-right: 2px;
|
padding-right: 2px;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
#workspaces button:hover, #workspaces button:active {
|
#workspaces button:hover,
|
||||||
background-color: #292828;
|
#workspaces button:active {
|
||||||
|
background-color: #606060;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
#workspaces button.focused {
|
#workspaces button.focused {
|
||||||
@@ -40,53 +41,26 @@ window#waybar {
|
|||||||
padding-right: 10px;
|
padding-right: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#tray {
|
#tray,
|
||||||
border-width: 1px;
|
#language,
|
||||||
border-style: none none none solid;
|
#network,
|
||||||
border-color: #444444;
|
#backlight,
|
||||||
padding-left: 3px;
|
#clock,
|
||||||
padding-right: 3px;
|
#wireplumber,
|
||||||
}
|
|
||||||
#language {
|
|
||||||
border-width: 1px;
|
|
||||||
border-style: none none none solid;
|
|
||||||
border-color: #444444;
|
|
||||||
padding-left: 3px;
|
|
||||||
padding-right: 3px;
|
|
||||||
}
|
|
||||||
#network {
|
|
||||||
border-width: 1px;
|
|
||||||
border-style: none none none solid;
|
|
||||||
border-color: #444444;
|
|
||||||
padding-left: 3px;
|
|
||||||
padding-right: 3px;
|
|
||||||
}
|
|
||||||
#backlight {
|
|
||||||
border-width: 1px;
|
|
||||||
border-style: none none none solid;
|
|
||||||
border-color: #444444;
|
|
||||||
padding-left: 3px;
|
|
||||||
padding-right: 3px;
|
|
||||||
}
|
|
||||||
#clock {
|
|
||||||
border-width: 1px;
|
|
||||||
border-style: none none none solid;
|
|
||||||
border-color: #444444;
|
|
||||||
padding-left: 3px;
|
|
||||||
padding-right: 3px;
|
|
||||||
}
|
|
||||||
#battery {
|
#battery {
|
||||||
border-width: 1px;
|
border-width: 1px;
|
||||||
border-style: none none none solid;
|
border-style: none none none solid;
|
||||||
border-color: #444444;
|
border-color: #444444;
|
||||||
padding-left: 3px;
|
padding-left: 3px;
|
||||||
padding-right: 3px;
|
padding-right: 6px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#battery.warning {
|
#battery.warning {
|
||||||
background-color: #ffd760
|
background-color: #ffd760;
|
||||||
|
color: #111111;
|
||||||
}
|
}
|
||||||
|
|
||||||
#battery.critical {
|
#battery.critical {
|
||||||
background-color: #ff4040
|
background-color: #ff4040;
|
||||||
|
color: #111111;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ in {
|
|||||||
height = 26;
|
height = 26;
|
||||||
modules-left = ["sway/workspaces" "sway/mode"];
|
modules-left = ["sway/workspaces" "sway/mode"];
|
||||||
modules-center = ["sway/window"];
|
modules-center = ["sway/window"];
|
||||||
modules-right = ["mpd" "tray" "custom/squeekboard" "sway/language" "clock" "backlight" "battery" "network"];
|
modules-right = ["mpd" "wireplumber" "tray" "custom/squeekboard" "sway/language" "clock" "backlight" "battery" "network"];
|
||||||
|
|
||||||
"sway/workspaces" = {
|
"sway/workspaces" = {
|
||||||
disable-scroll = true;
|
disable-scroll = true;
|
||||||
@@ -134,9 +134,19 @@ in {
|
|||||||
tooltip-format = "{ifname} via {gwaddr} ";
|
tooltip-format = "{ifname} via {gwaddr} ";
|
||||||
format-disconnected = "";
|
format-disconnected = "";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
"wireplumber" = {
|
||||||
|
format = "{volume}% {icon}";
|
||||||
|
format-muted = "";
|
||||||
|
format-icons = ["" "" ""];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
style = ./waybar.css;
|
style = ./waybar.css;
|
||||||
};
|
};
|
||||||
|
home.packages = with pkgs;
|
||||||
|
lib.mkIf cfg.squeekboard [
|
||||||
|
glib
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
19
modules/nixos/bluetooth.nix
Normal file
19
modules/nixos/bluetooth.nix
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.myConfig.bluetooth;
|
||||||
|
in {
|
||||||
|
options.myConfig.bluetooth = {
|
||||||
|
enable = lib.mkEnableOption "bluetooth";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
hardware.bluetooth = {
|
||||||
|
enable = true;
|
||||||
|
powerOnBoot = true;
|
||||||
|
};
|
||||||
|
services.blueman.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
21
modules/nixos/cache.nix
Normal file
21
modules/nixos/cache.nix
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.myConfig.cache;
|
||||||
|
in {
|
||||||
|
options.myConfig.cache = {
|
||||||
|
enable = lib.mkEnableOption "extra binary caches";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
nix.settings = {
|
||||||
|
substituters = ["https://nix-community.cachix.org/" "https://nixpkgs-python.cachix.org/"];
|
||||||
|
trusted-public-keys = [
|
||||||
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||||
|
"nixpkgs-python.cachix.org-1:hxjI7pFxTyuTHn2NkvWCrAUcNZLNS3ZAvfYNuYifcEU="
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -10,7 +10,7 @@ in {
|
|||||||
enable = lib.mkEnableOption "printing";
|
enable = lib.mkEnableOption "printing";
|
||||||
};
|
};
|
||||||
|
|
||||||
config = {
|
config = lib.mkIf cfg.enable {
|
||||||
# Enable CUPS to print documents.
|
# Enable CUPS to print documents.
|
||||||
services.printing = {
|
services.printing = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -1,30 +1,70 @@
|
|||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
config,
|
config,
|
||||||
|
system,
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
cfg = config.myConfig;
|
cfg = config.myConfig;
|
||||||
in {
|
in {
|
||||||
imports = [./bootloader.nix ./locale.nix ./greetd.nix ./rebuild.nix ./sops.nix ./sway.nix ./wifi.nix ./music.nix ./cups.nix ./gpu/amd.nix];
|
imports = [./bootloader.nix ./locale.nix ./greetd.nix ./rebuild.nix ./sops.nix ./sway.nix ./wifi.nix ./music.nix ./cups.nix ./gpu/amd.nix ./touch.nix ./cache.nix ./nix.nix ./update.nix ./podman.nix ./qemu.nix ./bluetooth.nix ./network.nix ./nix-ld.nix];
|
||||||
|
|
||||||
options.myConfig = {
|
options.myConfig = {
|
||||||
enable = lib.mkEnableOption "my custom config";
|
enable = lib.mkEnableOption "my custom config";
|
||||||
desktop = lib.mkEnableOption "custom config with desktop support";
|
desktop = lib.mkEnableOption "custom config with desktop support";
|
||||||
laptop = lib.mkEnableOption "extra stuff for laptops like wifi";
|
laptop = lib.mkEnableOption "extra stuff for laptops like wifi";
|
||||||
|
user = lib.mkOption {
|
||||||
|
default = "max";
|
||||||
|
example = "foo";
|
||||||
|
description = "The main user working on this machine";
|
||||||
|
type = lib.types.nonEmptyStr;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config.myConfig = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
bootloader.enable = true;
|
myConfig = {
|
||||||
locale.enable = true;
|
bootloader.enable = true;
|
||||||
rebuild.enable = true;
|
locale.enable = true;
|
||||||
|
rebuild.enable = true;
|
||||||
|
cache.enable = true;
|
||||||
|
autoUpdate.enable = true;
|
||||||
|
podman.enable = true;
|
||||||
|
qemu.enable = true;
|
||||||
|
qemu.kvm = lib.mkIf (system == "x86_64-linux") true;
|
||||||
|
network.enable = true;
|
||||||
|
nix-ld.enable = true;
|
||||||
|
|
||||||
greetd.enable = lib.mkIf cfg.desktop true;
|
greetd.enable = lib.mkIf cfg.desktop true;
|
||||||
sway.enable = lib.mkIf cfg.desktop true;
|
sway.enable = lib.mkIf cfg.desktop true;
|
||||||
music.enable = lib.mkIf cfg.desktop true;
|
music.enable = lib.mkIf cfg.desktop true;
|
||||||
cups.enable = lib.mkIf cfg.desktop true;
|
cups.enable = lib.mkIf cfg.desktop true;
|
||||||
wifi.tray = lib.mkIf cfg.desktop true;
|
wifi.tray = lib.mkIf cfg.desktop true;
|
||||||
|
|
||||||
sway.laptop = lib.mkIf cfg.laptop true;
|
sway.laptop = lib.mkIf cfg.laptop true;
|
||||||
wifi.enable = lib.mkIf cfg.laptop true;
|
wifi.enable = lib.mkIf cfg.laptop true;
|
||||||
|
touch.enable = lib.mkIf cfg.laptop true;
|
||||||
|
bluetooth.enable = lib.mkIf cfg.laptop true;
|
||||||
|
};
|
||||||
|
|
||||||
|
users.users.${cfg.user} = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "Max Känner";
|
||||||
|
extraGroups = ["wheel" "dialout"];
|
||||||
|
shell = pkgs.zsh;
|
||||||
|
};
|
||||||
|
|
||||||
|
home-manager = {
|
||||||
|
extraSpecialArgs = {inherit inputs;};
|
||||||
|
users.${cfg.user} = import ../../hosts/${cfg.network.hostName}/home.nix;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.ssh.startAgent = true;
|
||||||
|
programs.zsh.enable = true;
|
||||||
|
programs.steam.enable = true;
|
||||||
|
|
||||||
|
security.polkit.enable = true;
|
||||||
|
|
||||||
|
services.upower.enable = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,12 +14,23 @@ in {
|
|||||||
boot.initrd.kernelModules = ["amdgpu"];
|
boot.initrd.kernelModules = ["amdgpu"];
|
||||||
services.xserver.videoDrivers = ["amdgpu"];
|
services.xserver.videoDrivers = ["amdgpu"];
|
||||||
|
|
||||||
systemd.tmpfiles.rules = [
|
systemd.tmpfiles.rules = let
|
||||||
"L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}"
|
rocmEnv = pkgs.symlinkJoin {
|
||||||
|
name = "rocm-combined";
|
||||||
|
paths = with pkgs.rocmPackages; [
|
||||||
|
rocblas
|
||||||
|
hipblas
|
||||||
|
rocm-smi
|
||||||
|
clr
|
||||||
|
];
|
||||||
|
};
|
||||||
|
in [
|
||||||
|
"L+ /opt/rocm - - - - ${rocmEnv}"
|
||||||
];
|
];
|
||||||
|
|
||||||
hardware.opengl = {
|
hardware.graphics = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
enable32Bit = true;
|
||||||
extraPackages = with pkgs; [
|
extraPackages = with pkgs; [
|
||||||
rocmPackages.clr.icd
|
rocmPackages.clr.icd
|
||||||
amdvlk
|
amdvlk
|
||||||
@@ -27,8 +38,6 @@ in {
|
|||||||
extraPackages32 = with pkgs; [
|
extraPackages32 = with pkgs; [
|
||||||
driversi686Linux.amdvlk
|
driversi686Linux.amdvlk
|
||||||
];
|
];
|
||||||
driSupport = true;
|
|
||||||
driSupport32Bit = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
|||||||
@@ -26,10 +26,10 @@ in {
|
|||||||
};
|
};
|
||||||
GTK = {
|
GTK = {
|
||||||
application_prefer_dark_theme = true;
|
application_prefer_dark_theme = true;
|
||||||
cursor_theme_name = "capitaine-cursors-white";
|
cursor_theme_name = lib.mkForce "capitaine-cursors-white";
|
||||||
font_name = "FiraCode Nerd Font 20";
|
font_name = lib.mkForce "FiraCode Nerd Font 20";
|
||||||
icon_theme_name = "WhiteSur-dark";
|
icon_theme_name = lib.mkForce "WhiteSur-dark";
|
||||||
theme_name = "WhiteSur-Dark";
|
theme_name = lib.mkForce "WhiteSur-Dark";
|
||||||
};
|
};
|
||||||
commands = {
|
commands = {
|
||||||
reboot = ["systemctl" "reboot"];
|
reboot = ["systemctl" "reboot"];
|
||||||
@@ -44,8 +44,6 @@ in {
|
|||||||
extraGroups = [];
|
extraGroups = [];
|
||||||
};
|
};
|
||||||
|
|
||||||
services.greetd.enable = true;
|
|
||||||
|
|
||||||
environment.etc."greetd/environments".text = ''
|
environment.etc."greetd/environments".text = ''
|
||||||
sway
|
sway
|
||||||
'';
|
'';
|
||||||
@@ -55,5 +53,9 @@ in {
|
|||||||
whitesur-icon-theme
|
whitesur-icon-theme
|
||||||
whitesur-cursors
|
whitesur-cursors
|
||||||
];
|
];
|
||||||
|
|
||||||
|
environment.variables = {
|
||||||
|
XKB_DEFAULT_LAYOUT = "de";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
config,
|
config,
|
||||||
pkgs,
|
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
cfg = config.myConfig.music;
|
cfg = config.myConfig.music;
|
||||||
@@ -14,12 +13,9 @@ in {
|
|||||||
musnix = {
|
musnix = {
|
||||||
enable = true;
|
enable = true;
|
||||||
rtcqs.enable = true;
|
rtcqs.enable = true;
|
||||||
kernel.realtime = true;
|
|
||||||
kernel.packages = pkgs.linuxPackages-rt_latest;
|
|
||||||
};
|
};
|
||||||
users.users.max.extraGroups = ["audio"];
|
users.users.${config.myConfig.user}.extraGroups = ["audio"];
|
||||||
|
|
||||||
sound.enable = true;
|
|
||||||
services.pipewire = {
|
services.pipewire = {
|
||||||
enable = true;
|
enable = true;
|
||||||
alsa.enable = true;
|
alsa.enable = true;
|
||||||
|
|||||||
26
modules/nixos/network.nix
Normal file
26
modules/nixos/network.nix
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.myConfig.network;
|
||||||
|
in {
|
||||||
|
options.myConfig.network = {
|
||||||
|
enable = lib.mkEnableOption "bluetooth";
|
||||||
|
hostName = lib.mkOption {
|
||||||
|
default = null;
|
||||||
|
example = "host";
|
||||||
|
description = "The host name of this machine";
|
||||||
|
type = lib.types.nullOr lib.types.nonEmptyStr;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
networking = {
|
||||||
|
hostName = cfg.hostName;
|
||||||
|
firewall.enable = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
users.users.${config.myConfig.user}.extraGroups = ["networkmanager"];
|
||||||
|
};
|
||||||
|
}
|
||||||
19
modules/nixos/nix-ld.nix
Normal file
19
modules/nixos/nix-ld.nix
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.myConfig.nix-ld;
|
||||||
|
in {
|
||||||
|
options.myConfig.nix-ld = {
|
||||||
|
enable = lib.mkEnableOption "ld replacement for external binaries";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
programs.nix-ld = {
|
||||||
|
enable = true;
|
||||||
|
libraries = with pkgs; [libclang stdenv.cc.cc];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
11
modules/nixos/nix.nix
Normal file
11
modules/nixos/nix.nix
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{...}: {
|
||||||
|
config = {
|
||||||
|
nix.settings = {
|
||||||
|
experimental-features = ["nix-command" "flakes"];
|
||||||
|
auto-optimise-store = true;
|
||||||
|
max-jobs = "auto";
|
||||||
|
cores = 12;
|
||||||
|
download-buffer-size = 524288000;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
20
modules/nixos/podman.nix
Normal file
20
modules/nixos/podman.nix
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.myConfig.podman;
|
||||||
|
in {
|
||||||
|
options.myConfig.podman = {
|
||||||
|
enable = lib.mkEnableOption "podman";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
virtualisation.
|
||||||
|
podman = {
|
||||||
|
enable = true;
|
||||||
|
dockerCompat = true;
|
||||||
|
defaultNetwork.settings.dns_enabled = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
36
modules/nixos/qemu.nix
Normal file
36
modules/nixos/qemu.nix
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.myConfig.qemu;
|
||||||
|
in {
|
||||||
|
options.myConfig.qemu = {
|
||||||
|
enable = lib.mkEnableOption "qemu";
|
||||||
|
kvm = lib.mkEnableOption "kvm for faster emulation of x86";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
virtualisation.
|
||||||
|
libvirtd = {
|
||||||
|
enable = true;
|
||||||
|
qemu = {
|
||||||
|
package =
|
||||||
|
if cfg.kvm
|
||||||
|
then pkgs.qemu_kvm
|
||||||
|
else config.virtualisation.libvirtd.qemu.package;
|
||||||
|
runAsRoot = true;
|
||||||
|
swtpm.enable = true;
|
||||||
|
ovmf = {
|
||||||
|
enable = true;
|
||||||
|
packages = [
|
||||||
|
pkgs.OVMFFull.fd
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
# boot.binfmt.emulatedSystems = ["aarch64-linux"];
|
||||||
|
users.users.${config.myConfig.user}.extraGroups = ["libvirtd"];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -21,14 +21,13 @@
|
|||||||
${pkgs.alejandra}/bin/alejandra . #&>/dev/null
|
${pkgs.alejandra}/bin/alejandra . #&>/dev/null
|
||||||
|
|
||||||
# Shows your changes
|
# Shows your changes
|
||||||
${pkgs.git}/bin/git diff -U0 *.nix
|
${pkgs.git}/bin/git diff -U0
|
||||||
|
|
||||||
echo "NixOS Rebuilding..."
|
echo "NixOS Rebuilding..."
|
||||||
|
|
||||||
# echo using sudo so we get feedback after unlocking
|
# echo using sudo so we get feedback after unlocking
|
||||||
sudo echo "Beginning rebuild"
|
sudo echo "Beginning rebuild"
|
||||||
# Rebuild, output simplified errors, log trackebacks
|
# Rebuild, output simplified errors, log trackebacks
|
||||||
# sudo nixos-rebuild switch &>nixos-switch.log || (${pkgs.coreutils}/bin/cat nixos-switch.log | ${pkgs.gnugrep}/bin/grep --color error && false)
|
|
||||||
sudo nixos-rebuild switch
|
sudo nixos-rebuild switch
|
||||||
|
|
||||||
# Get current generation metadata
|
# Get current generation metadata
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ in {
|
|||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
sops = {
|
sops = {
|
||||||
age.keyFile = /home/max/.config/sops/age/keys.txt;
|
age.keyFile = "/home/max/.config/sops/age/keys.txt";
|
||||||
secrets = {
|
secrets = {
|
||||||
"home/ssid" = {
|
"home/ssid" = {
|
||||||
sopsFile = ../../secrets/wifi.yaml;
|
sopsFile = ../../secrets/wifi.yaml;
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
# make brightness keys work
|
# make brightness keys work
|
||||||
users.users.max.extraGroups = ["video" "input"];
|
users.users.${config.myConfig.user}.extraGroups = ["video" "input"];
|
||||||
programs.light.enable = lib.mkIf cfg.laptop true;
|
programs.light.enable = lib.mkIf cfg.laptop true;
|
||||||
|
|
||||||
# make swaylock work
|
# make swaylock work
|
||||||
|
|||||||
18
modules/nixos/touch.nix
Normal file
18
modules/nixos/touch.nix
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.myConfig.touch;
|
||||||
|
in {
|
||||||
|
options.myConfig.touch = {
|
||||||
|
enable = lib.mkEnableOption "touch screen";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
services = {
|
||||||
|
xserver.wacom.enable = true;
|
||||||
|
libinput.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
33
modules/nixos/update.nix
Normal file
33
modules/nixos/update.nix
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.myConfig.autoUpdate;
|
||||||
|
in {
|
||||||
|
options.myConfig.autoUpdate = {
|
||||||
|
enable = lib.mkEnableOption "extra binary caches";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
system.autoUpgrade = {
|
||||||
|
enable = false;
|
||||||
|
flake = inputs.self.outPath;
|
||||||
|
flags = [
|
||||||
|
"--recreate-lock-file"
|
||||||
|
"--commit-lock-file"
|
||||||
|
"-L"
|
||||||
|
];
|
||||||
|
dates = "9:00";
|
||||||
|
randomizedDelaySec = "45min";
|
||||||
|
};
|
||||||
|
|
||||||
|
nix.gc = {
|
||||||
|
automatic = true;
|
||||||
|
dates = "10:00";
|
||||||
|
randomizedDelaySec = "45min";
|
||||||
|
options = "--delete-older-than 14d";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
23
secrets/rclone.yaml
Normal file
23
secrets/rclone.yaml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
cloud:
|
||||||
|
url: ENC[AES256_GCM,data:BoSdQrtLNKYpaHIWUj5Ak8PGMJz3hj/z88XVBgN6AbyT2K/bC412p3oi+X9MmYATR3A=,iv:wez+v5kEN+niZmZXzaJoygHf4mqKVI6CINktAZe8WTs=,tag:20W87Kcn94smiLtX9mMdOw==,type:str]
|
||||||
|
user: ENC[AES256_GCM,data:kFza,iv:OrDNF/h+xLuuyq2cpaHnQuRM1lwuXhe8Ue0rm/wRmkY=,tag:9t+hEx38r/yBIzWIFD0GnQ==,type:str]
|
||||||
|
pass: ENC[AES256_GCM,data:Li7KW31pcwL0rq/Ottz+A6fjusX+Msay4dLkM1DAEsRp1cb6nqauD51pWIkGqntZtC6Z3U3sOpY73Wo5,iv:zI3z1dlCBn/s5EquH18ILTUg0YuMBnQKUCgNkTKJY8o=,tag:sKzadnNXwf1kMFlhK56+jA==,type:str]
|
||||||
|
luhbots:
|
||||||
|
url: ENC[AES256_GCM,data:5hnCSyNcr3un83FaNGYaiZdbxCJe87+hzpoRtWozbn0OW31pxONIEQnSikXh59/OlVJN9TEmv+bd3uO210NPoKUL0D2MWw==,iv:fvY7fLbiAVGq0hh4ifs/LRgixlZsIDczw0hpiUvFSw0=,tag:gXNgNWMDXnRMdyhTjnG6oA==,type:str]
|
||||||
|
user: ENC[AES256_GCM,data:ucJ21fRmDKvHtyA=,iv:IYfNwBBWYxVb7ptwhfBiBgXwaoj5oCWg6gCI3WD8sjE=,tag:sB6/PJuquUL/GugpfzNMRw==,type:str]
|
||||||
|
pass: ENC[AES256_GCM,data:3gkyN51YvL/SrtP3kbG4OVhc5KBzu33dYVx4u8pJs9h3GJ9Wh1A5NCaBFJa7VFWfKuysNmr4CQwQEYBX,iv:U5foeasbN/TrrR0mA1mNcqYWZFXHYIAqXLmP/RvC+Os=,tag:x7ck7quJG7npMGwi/ss3ZA==,type:str]
|
||||||
|
sops:
|
||||||
|
age:
|
||||||
|
- recipient: age1d6ze98387f0gryqwvrdlcxgz3wgs607ach4duwmnp72dzaa63cxqchc78n
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBVQ0hJN2R0V1NJNnZEeHRD
|
||||||
|
SDVxVmRFbXRVMjlSUkRKTHExY2I5S1BqVm1zCjRjM1J4Nm5xVG4wWVZLN2tMWGxH
|
||||||
|
Qi90UEpZdmROdkE0RzRoUmt0cDVFRlEKLS0tIHN1ZjQ4VUM5aGNjN3RZcUVieW9C
|
||||||
|
cVV3dFpNbjY1bkZtUlltanpSNDlPd28KQ4FQrC6KyZEzzkmByh07q1RAGnWnCNtr
|
||||||
|
XTDQhlbSq/LdptpqNbUD2g9H9vC2CAC0av39ExvT55JiK4dEWmrwUA==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
lastmodified: "2025-08-21T11:59:42Z"
|
||||||
|
mac: ENC[AES256_GCM,data:AjDUc3G435FGlZysR+84u+SXeeou9HzTvGnZjEXZbS+AaHEv3CEXPG0qSUbyzudbF3G8oFTgMzlQlZ2ayTJKCNjzn9cgbo1K9iUfphkMD7vrPaIiB7y6GYaA6HRVdUvGNM7kwrH/HpkzgvVP96ey3jb0ZYd4g7sbaGPwDdsd7vk=,iv:u5UrX9QpycSpQ9DKnAtGr3PJ28GEKIagggdZ9ZpWsKw=,tag:911biSbujzMmlTP/5KWw+Q==,type:str]
|
||||||
|
unencrypted_suffix: _unencrypted
|
||||||
|
version: 3.10.2
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
home:
|
home:
|
||||||
ssid: ENC[AES256_GCM,data:i76d33GIysjSY2k=,iv:34g02nNL5xYXx0PpN49u4xVHzfraTMtAqC4w4oxLBao=,tag:Y3g8kzhPF5LJuaxFq7jd3w==,type:str]
|
ssid: ENC[AES256_GCM,data:NXV/fyH9brOD,iv:fwdot2Zotoxnng55p/bDT1KmO1oGozj8UadZYKgcF8k=,tag:fPF2N7TPq2TGjlfSLfryLQ==,type:str]
|
||||||
psk: ENC[AES256_GCM,data:bb25mbWgCBvwEvKr4sRRXg==,iv:+oNkqdk0bEP1l1e+HpSveRrxJI8OfQtBVcQ5476kMLU=,tag:vdWSVd5pIRGab+lzP4oFHg==,type:str]
|
psk: ENC[AES256_GCM,data:wrKsVQ/Ra8ruWPXLXolyHLyQul/7lFrBA72Cj14=,iv:BkGX4xxyqDdFXAw1Ur3YI4CAYJIW1dRjL8KYOgoxFVc=,tag:aP8wWk6UGEeZOVWhkiGT0g==,type:str]
|
||||||
parents:
|
parents:
|
||||||
ssid: ENC[AES256_GCM,data:NZEKQ2N1sC0=,iv:vvsnsH3lYbtXwSnQuInhceiE19Z+ZNszB20TL9BF40g=,tag:5YOljSW9Hht+MCNKhss/Sw==,type:str]
|
ssid: ENC[AES256_GCM,data:NZEKQ2N1sC0=,iv:vvsnsH3lYbtXwSnQuInhceiE19Z+ZNszB20TL9BF40g=,tag:5YOljSW9Hht+MCNKhss/Sw==,type:str]
|
||||||
psk: ENC[AES256_GCM,data:gjpdj21uLDiY,iv:k1RH2ybRkJccEqjkdv1Tz+qLS2EdGWdn+jRkUcTDLtY=,tag:IuwgoHt//GvyWVvDI2C/2g==,type:str]
|
psk: ENC[AES256_GCM,data:gjpdj21uLDiY,iv:k1RH2ybRkJccEqjkdv1Tz+qLS2EdGWdn+jRkUcTDLtY=,tag:IuwgoHt//GvyWVvDI2C/2g==,type:str]
|
||||||
@@ -26,8 +26,8 @@ sops:
|
|||||||
d0FZc0x5UVhPQ09xUE5Qa1A0QkExVmcKkcy1i+nME0uHlLy8vCu8vgqSuR+0NqaD
|
d0FZc0x5UVhPQ09xUE5Qa1A0QkExVmcKkcy1i+nME0uHlLy8vCu8vgqSuR+0NqaD
|
||||||
D+zKRKNdfJn1TLsoyDb4iDSeqp8nB9fZzQqIJshGRhlnqxuzIiYqqA==
|
D+zKRKNdfJn1TLsoyDb4iDSeqp8nB9fZzQqIJshGRhlnqxuzIiYqqA==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
lastmodified: "2024-03-20T19:10:46Z"
|
lastmodified: "2025-05-05T13:46:43Z"
|
||||||
mac: ENC[AES256_GCM,data:CAkdbGguJ/W1C0bZY7EE7IU9b6+4sspFbP5SpnybUULqJnR98MK55UT/2cfc6HYsN0RQCz7EtgZ06cjCELPn7AYFFYRbLSptrgBciIpMlDCX/22qlZ+Y6ehRr+j5scCifJITKwe9BfpLqVy27xPA1zFdbuiJkFHW0XKzSNk/hDQ=,iv:FdQlJH6LtksqloAz3+HKmERrTDntKs/lVTKJ1bTP0bM=,tag:aCY6u1ARccyuQix/wb1cfg==,type:str]
|
mac: ENC[AES256_GCM,data:5V6dtgz6xDFXUqkTxAZ2mdNovMcz4rf64UJHp/oTY0Veqjesyx88etSz6y15E3CsKa4LQImBGtwfowVXa5eto5eBdO8fg07zzfSMT4lUmxPg/kTUJluLNpwph4HxP2mLo5h0o+4PDILuBrwS9ozOHOAzEj/iCKUmmmNFN598xkA=,iv:4MKHWixtku5pCSHfTgNmCIm5NHm5K6nVK1v589BFA9s=,tag:95ud48Qu1q016SCNFzciig==,type:str]
|
||||||
pgp: []
|
pgp: []
|
||||||
unencrypted_suffix: _unencrypted
|
unencrypted_suffix: _unencrypted
|
||||||
version: 3.8.1
|
version: 3.9.4
|
||||||
|
|||||||
Reference in New Issue
Block a user