Compare commits
62 Commits
238db043b4
...
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 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,2 +1,3 @@
|
||||
.null-ls*
|
||||
nixos-switch.log
|
||||
result
|
||||
|
||||
52
flake.lock
generated
52
flake.lock
generated
@@ -7,16 +7,16 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1736373539,
|
||||
"narHash": "sha256-dinzAqCjenWDxuy+MqUQq0I4zUSfaCvN9rzuCmgMZJY=",
|
||||
"lastModified": 1758463745,
|
||||
"narHash": "sha256-uhzsV0Q0I9j2y/rfweWeGif5AWe0MGrgZ/3TjpDYdGA=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "bd65bc3cde04c16755955630b344bc9e35272c56",
|
||||
"rev": "3b955f5f0a942f9f60cdc9cacb7844335d0f21c3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "release-24.11",
|
||||
"ref": "release-25.05",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
@@ -28,11 +28,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1735772949,
|
||||
"narHash": "sha256-lvee0rhKTpJEDl1SC4F3Kvz88snOU8OMTJBsPH1pVBo=",
|
||||
"lastModified": 1756852730,
|
||||
"narHash": "sha256-qPere4RBHoZxiEGl8zXU8gjroZg4gkYGEwaAbKmL4vE=",
|
||||
"owner": "musnix",
|
||||
"repo": "musnix",
|
||||
"rev": "86ef22cbdd7551ef325bce88143be9f37da64c26",
|
||||
"rev": "7ccc92050e43dc92309396c6f2fe1f542214a242",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -43,27 +43,27 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1739206421,
|
||||
"narHash": "sha256-PwQASeL2cGVmrtQYlrBur0U20Xy07uSWVnFup2PHnDs=",
|
||||
"lastModified": 1759143472,
|
||||
"narHash": "sha256-TvODmeR2W7yX/JmOCmP+lAFNkTT7hAxYcF3Kz8SZV3w=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "44534bc021b85c8d78e465021e21f33b856e2540",
|
||||
"rev": "5ed4e25ab58fd4c028b59d5611e14ea64de51d23",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-24.11",
|
||||
"ref": "nixos-25.05",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1739214665,
|
||||
"narHash": "sha256-26L8VAu3/1YRxS8MHgBOyOM8xALdo6N0I04PgorE7UM=",
|
||||
"lastModified": 1759036355,
|
||||
"narHash": "sha256-0m27AKv6ka+q270dw48KflE0LwQYrO7Fm4/2//KCVWg=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "64e75cd44acf21c7933d61d7721e812eac1b5a0a",
|
||||
"rev": "e9f00bd893984bc8ce46c895c3bf7cac95331127",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -79,7 +79,8 @@
|
||||
"musnix": "musnix",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||
"sops-nix": "sops-nix"
|
||||
"sops-nix": "sops-nix",
|
||||
"wrapper-manager": "wrapper-manager"
|
||||
}
|
||||
},
|
||||
"sops-nix": {
|
||||
@@ -89,11 +90,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1739262228,
|
||||
"narHash": "sha256-7JAGezJ0Dn5qIyA2+T4Dt/xQgAbhCglh6lzCekTVMeU=",
|
||||
"lastModified": 1759188042,
|
||||
"narHash": "sha256-f9QC2KKiNReZDG2yyKAtDZh0rSK2Xp1wkPzKbHeQVRU=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "07af005bb7d60c7f118d9d9f5530485da5d1e975",
|
||||
"rev": "9fcfabe085281dd793589bdc770a2e577a3caa5d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -101,6 +102,21 @@
|
||||
"repo": "sops-nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"wrapper-manager": {
|
||||
"locked": {
|
||||
"lastModified": 1757156862,
|
||||
"narHash": "sha256-OGXsTE5jWhGiFfK6OwMvjksrYSobsIFUSUzKsexCDxY=",
|
||||
"owner": "viperML",
|
||||
"repo": "wrapper-manager",
|
||||
"rev": "801dd9c876fcada046af45543e8c7e0bbccf20ea",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "viperML",
|
||||
"repo": "wrapper-manager",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
|
||||
35
flake.nix
35
flake.nix
@@ -2,10 +2,10 @@
|
||||
description = "Nixos config flake";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
|
||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
|
||||
home-manager.url = "github:nix-community/home-manager/release-24.11";
|
||||
home-manager.url = "github:nix-community/home-manager/release-25.05";
|
||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
sops-nix.url = "github:Mic92/sops-nix";
|
||||
@@ -13,6 +13,8 @@
|
||||
|
||||
musnix.url = "github:musnix/musnix";
|
||||
musnix.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
wrapper-manager.url = "github:viperML/wrapper-manager";
|
||||
};
|
||||
|
||||
outputs = {
|
||||
@@ -36,10 +38,11 @@
|
||||
allowUnfreePredicate = pkg:
|
||||
builtins.elem (nixpkgs.lib.getName pkg) [
|
||||
"discord"
|
||||
"samsung-UnifiedLinuxDriver"
|
||||
"samsung-unified-linux-driver"
|
||||
"steam"
|
||||
"steam-unwrapped"
|
||||
"stm32cubemx"
|
||||
"obsidian"
|
||||
];
|
||||
};
|
||||
};
|
||||
@@ -48,7 +51,7 @@
|
||||
"MaxNixosLaptop" = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
specialArgs = {
|
||||
inherit inputs pkgs system;
|
||||
inherit inputs system;
|
||||
};
|
||||
modules = [
|
||||
./hosts/MaxNixosLaptop/configuration.nix
|
||||
@@ -57,8 +60,32 @@
|
||||
{
|
||||
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 {
|
||||
|
||||
@@ -2,11 +2,12 @@
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
||||
cfg = config.myConfig.programs;
|
||||
in {
|
||||
imports = [./foot.nix ./thunderbird.nix ./nextcloud.nix ./udiskie.nix ./wezterm.nix];
|
||||
imports = [./foot.nix ./thunderbird.nix ./nextcloud.nix ./udiskie.nix ./wezterm.nix ./rclone.nix];
|
||||
|
||||
options.myConfig.programs = {
|
||||
enable = lib.mkEnableOption "programs for desktop use";
|
||||
@@ -17,11 +18,23 @@ in {
|
||||
foot.enable = lib.mkDefault true;
|
||||
wezterm.enable = lib.mkDefault true;
|
||||
thunderbird.enable = lib.mkDefault true;
|
||||
nextcloud.enable = lib.mkDefault true;
|
||||
rclone.enable = lib.mkDefault true;
|
||||
udiskie.enable = lib.mkDefault true;
|
||||
};
|
||||
|
||||
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
|
||||
firefox
|
||||
xournalpp
|
||||
@@ -37,7 +50,6 @@ in {
|
||||
sops
|
||||
pwvucontrol
|
||||
qpwgraph
|
||||
discord
|
||||
libreoffice-fresh
|
||||
mate.caja
|
||||
mate.atril
|
||||
@@ -47,13 +59,15 @@ in {
|
||||
wine
|
||||
prusa-slicer
|
||||
kicad
|
||||
element-desktop
|
||||
chromium
|
||||
wl-clipboard
|
||||
gimp
|
||||
godot_4
|
||||
ripgrep-all
|
||||
stm32cubemx
|
||||
flatpak
|
||||
marksman
|
||||
alejandra
|
||||
openssl
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
cfg = config.myConfig.programs.nextcloud;
|
||||
@@ -11,9 +10,6 @@ in {
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
services.nextcloud-client = {
|
||||
enable = true;
|
||||
package = pkgs.unstable.nextcloud-client;
|
||||
};
|
||||
services.nextcloud-client.enable = true;
|
||||
};
|
||||
}
|
||||
|
||||
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"];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -66,6 +66,8 @@ in {
|
||||
texliveMedium
|
||||
biber
|
||||
gcc
|
||||
just-lsp
|
||||
marksman
|
||||
];
|
||||
};
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ return {
|
||||
{ import = "astrocommunity.pack.docker" },
|
||||
{ import = "astrocommunity.pack.html-css" },
|
||||
{ import = "astrocommunity.pack.json" },
|
||||
{ import = "astrocommunity.pack.just" },
|
||||
{ import = "astrocommunity.pack.lua" },
|
||||
{ import = "astrocommunity.pack.markdown" },
|
||||
{ import = "astrocommunity.pack.nix" },
|
||||
|
||||
@@ -23,7 +23,6 @@ return {
|
||||
cargo = {
|
||||
buildScripts = { enable = true },
|
||||
allFeatures = false,
|
||||
extraArgs = { "--release" },
|
||||
},
|
||||
installCargo = false,
|
||||
installRustc = false,
|
||||
|
||||
@@ -44,7 +44,7 @@ in {
|
||||
};
|
||||
syntaxHighlighting.enable = true;
|
||||
syntaxHighlighting.highlighters = ["main" "brackets"];
|
||||
initExtra = ''
|
||||
initContent = ''
|
||||
# auto completion
|
||||
bindkey '^I' complete-word
|
||||
bindkey '^[[Z' autosuggest-accept
|
||||
|
||||
@@ -9,20 +9,20 @@
|
||||
rotate_lisgd = pkgs.writeShellScriptBin "rotate_lisgd" ''
|
||||
# PREV_ORIENTATION and ORIENTATION are given by rot8
|
||||
|
||||
LISGD_INPUT=/dev/input/event14
|
||||
# open nwggrid by swiping up from the bottom edge
|
||||
LISGD_ACTIONS=("1,DU,B,*,R,${pkgs.sway}/bin/swaymsg exec ${pkgs.nwg-launchers}/bin/nwggrid -client")
|
||||
# close window by swiping down with 3 fingers
|
||||
LISGD_ACTIONS+=("3,UD,*,L,R,${pkgs.sway}/bin/swaymsg kill")
|
||||
LISGD_INPUT=/dev/input/by-path/platform-AMDI0010:02-event
|
||||
# open nwggrid by swiping down with 3 fingers
|
||||
LISGD_ACTIONS=("3,UD,*,*,R,${pkgs.nwg-launchers}/bin/nwggrid -client")
|
||||
# close window by swiping up with 3 fingers
|
||||
LISGD_ACTIONS+=("3,DU,*,M,R,${pkgs.sway}/bin/swaymsg kill")
|
||||
|
||||
# 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
|
||||
LISGD_ACTIONS+=("2,UD,*,*,R,${pkgs.sway}/bin/swaymsg move down")
|
||||
# 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
|
||||
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=()
|
||||
for str in "''${LISGD_ACTIONS[@]}"; do
|
||||
@@ -69,7 +69,8 @@ in {
|
||||
|
||||
# fonts
|
||||
noto-fonts
|
||||
nerdfonts
|
||||
nerd-fonts.fira-code
|
||||
nerd-fonts.fira-mono
|
||||
fira
|
||||
];
|
||||
|
||||
@@ -92,31 +93,11 @@ in {
|
||||
output = let
|
||||
bgdir = ../../../assets;
|
||||
bg1080 = bgdir + "/bg1080.png";
|
||||
bg1080vert = bgdir + "/bg1080vert.png";
|
||||
bg4k = bgdir + "/bg4k.png";
|
||||
in
|
||||
lib.mkIf cfg.laptop {
|
||||
eDP-1 = {
|
||||
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 = {
|
||||
@@ -131,10 +112,12 @@ in {
|
||||
};
|
||||
# map laptop touchscreen to laptop display
|
||||
"1267:11676:ELAN2513:00_04F3:2D9C" = lib.mkIf cfg.laptop {
|
||||
tap = "enable";
|
||||
map_to_output = "'AU Optronics 0x4B2D Unknown'";
|
||||
};
|
||||
# map laptop stylus to laptop display
|
||||
"1267:11676:ELAN2513:00_04F3:2D9C_Stylus" = lib.mkIf cfg.laptop {
|
||||
tap = "enable";
|
||||
map_to_output = "'AU Optronics 0x4B2D Unknown'";
|
||||
};
|
||||
};
|
||||
@@ -149,6 +132,7 @@ in {
|
||||
"${modifier}+2" = "workspace term";
|
||||
"${modifier}+3" = "workspace msg";
|
||||
"${modifier}+4" = "workspace music";
|
||||
"${modifier}+o" = "workspace obsidian";
|
||||
"${modifier}+Shift+1" = "move container to workspace main";
|
||||
"${modifier}+Shift+2" = "move container to workspace term";
|
||||
"${modifier}+Shift+3" = "move container to workspace msg";
|
||||
@@ -159,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"'';
|
||||
|
||||
# brightness
|
||||
"XF86MonBrightnessDown" = "exec ${pkgs.light}/bin/light -U 5";
|
||||
"XF86MonBrightnessUp" = "exec ${pkgs.light}/bin/light -A 5";
|
||||
"XF86MonBrightnessDown" = "exec ${pkgs.light}/bin/light -T 0.9";
|
||||
"XF86MonBrightnessUp" = "exec ${pkgs.light}/bin/light -T 1.1";
|
||||
# volume
|
||||
"XF86AudioRaiseVolume" = "exec '${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ +1%'";
|
||||
"XF86AudioLowerVolume" = "exec '${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ -1%'";
|
||||
@@ -181,8 +165,10 @@ in {
|
||||
{app_id = "thunderbird";}
|
||||
{app_id = "discord";}
|
||||
{app_id = "Element";}
|
||||
{class = "Element";}
|
||||
];
|
||||
"music" = [{app_id = "org.rncbc.qpwgraph";}];
|
||||
"obsidian" = [{app_id = "obsidian";} {class = "obsidian";}];
|
||||
};
|
||||
bars = [];
|
||||
|
||||
@@ -205,6 +191,7 @@ in {
|
||||
{command = "${pkgs.wezterm}/bin/wezterm start --class start-terminal";}
|
||||
{command = "${pkgs.networkmanagerapplet}/bin/nm-applet";}
|
||||
{command = "${pkgs.firefox}/bin/firefox";}
|
||||
{command = "${pkgs.obsidian}/bin/obsidian";}
|
||||
]
|
||||
++ lib.optionals cfg.laptop [
|
||||
{command = "${pkgs.squeekboard}/bin/squeekboard";}
|
||||
@@ -222,23 +209,21 @@ in {
|
||||
workspaceOutputAssign = lib.mkIf cfg.laptop [
|
||||
{
|
||||
workspace = "main";
|
||||
output = ["DP-3" "DP-4" "DP-6" "HDMI-A-1" "eDP-1"];
|
||||
}
|
||||
{
|
||||
workspace = "term";
|
||||
output = ["DP-5" "DP-4" "DP-7" "eDP-1"];
|
||||
}
|
||||
{
|
||||
workspace = "msg";
|
||||
output = ["eDP-1"];
|
||||
}
|
||||
{
|
||||
workspace = "music";
|
||||
output = ["eDP-1"];
|
||||
}
|
||||
{
|
||||
workspace = "5";
|
||||
output = ["DP-3" "DP-4" "DP-6" "HDMI-A-1" "eDP-1"];
|
||||
}
|
||||
{
|
||||
workspace = "obsidian";
|
||||
}
|
||||
];
|
||||
|
||||
@@ -255,6 +240,7 @@ in {
|
||||
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:off output eDP-1 enable
|
||||
bindgesture --input-device=\'1267:11676:ELAN2513:00_04F3:2D9C\' swipe:3:down exec ${pkgs.nwg-launchers}/bin/nwggrid -client
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
@@ -12,7 +12,59 @@ in {
|
||||
};
|
||||
|
||||
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;
|
||||
settings = lib.mkIf cfg.laptop [
|
||||
{
|
||||
@@ -24,174 +76,78 @@ in {
|
||||
}
|
||||
];
|
||||
}
|
||||
{
|
||||
profile.outputs = [
|
||||
{
|
||||
criteria = "eDP-1";
|
||||
position = "0,1080";
|
||||
}
|
||||
{
|
||||
criteria = "Dell Inc. DELL U2422HE GRCPH83";
|
||||
position = "0,0";
|
||||
}
|
||||
{
|
||||
criteria = "NEC Corporation E243WMi 7X313185NB";
|
||||
transform = "90";
|
||||
position = "1920,0";
|
||||
}
|
||||
];
|
||||
profile.exec = [
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=main] move workspace to DP-4"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=term] move workspace to DP-5"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=msg] move workspace to eDP-1"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=music] move workspace to eDP-1"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=5] move workspace to DP-4"
|
||||
];
|
||||
}
|
||||
{
|
||||
profile.outputs = [
|
||||
{
|
||||
criteria = "eDP-1";
|
||||
position = "1080,1080";
|
||||
}
|
||||
{
|
||||
criteria = "Dell Inc. DELL U2422HE 8YCPH83";
|
||||
position = "1080,0";
|
||||
}
|
||||
{
|
||||
criteria = "NEC Corporation E243WMi 59118576NB";
|
||||
transform = "90";
|
||||
position = "0,0";
|
||||
}
|
||||
];
|
||||
profile.exec = [
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=main] move workspace to DP-4"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=term] move workspace to DP-5"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=msg] move workspace to eDP-1"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=music] move workspace to eDP-1"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=5] move workspace to DP-4"
|
||||
];
|
||||
}
|
||||
{
|
||||
profile.outputs = [
|
||||
{
|
||||
criteria = "eDP-1";
|
||||
position = "0,1080";
|
||||
}
|
||||
{
|
||||
criteria = "Dell Inc. DELL U2422HE 53DCH83";
|
||||
position = "0,0";
|
||||
}
|
||||
{
|
||||
criteria = "Dell Inc. DELL U2412M 0FFXD46I4U5S";
|
||||
transform = "90";
|
||||
position = "1920,0";
|
||||
}
|
||||
];
|
||||
profile.exec = [
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=main] move workspace to DP-6"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=term] move workspace to DP-7"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=msg] move workspace to eDP-1"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=music] move workspace to eDP-1"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=5] move workspace to DP-6"
|
||||
];
|
||||
}
|
||||
{
|
||||
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=main] move workspace to DP-3"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=term] move workspace to DP-4"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=msg] move workspace to eDP-1"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=music] move workspace to eDP-1"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=5] move workspace to DP-3"
|
||||
];
|
||||
}
|
||||
{
|
||||
profile.outputs = [
|
||||
{
|
||||
criteria = "eDP-1";
|
||||
position = "1080,1080";
|
||||
}
|
||||
{
|
||||
criteria = "Dell Inc. DELL P2422HE JLXL9M3";
|
||||
position = "1080,0";
|
||||
}
|
||||
{
|
||||
criteria = "NEC Corporation E243WMi 59118576NB";
|
||||
transform = "90";
|
||||
position = "0,0";
|
||||
}
|
||||
];
|
||||
profile.exec = [
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=main] move workspace to DP-3"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=term] move workspace to DP-4"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=msg] move workspace to eDP-1"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=music] move workspace to eDP-1"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=5] move workspace to DP-3"
|
||||
];
|
||||
}
|
||||
{
|
||||
profile.outputs = [
|
||||
{
|
||||
criteria = "eDP-1";
|
||||
position = "0,1080";
|
||||
}
|
||||
{
|
||||
criteria = "Dell Inc. DELL P2422HE 7VWL9M3";
|
||||
position = "0,0";
|
||||
}
|
||||
{
|
||||
criteria = "ViewSonic Corporation VG2448 V5E201960167";
|
||||
transform = "90";
|
||||
position = "1920,0";
|
||||
}
|
||||
];
|
||||
profile.exec = [
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=main] move workspace to '\"Dell Inc. DELL P2422HE 7VWL9M3\"'"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=term] move workspace to '\"ViewSonic Corporation VG2448 V5E201960167\"'"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=msg] move workspace to eDP-1"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=music] move workspace to eDP-1"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=5] move workspace to '\"Dell Inc. DELL P2422HE 7VWL9M3\"'"
|
||||
];
|
||||
}
|
||||
{
|
||||
profile.outputs = [
|
||||
{
|
||||
criteria = "eDP-1";
|
||||
position = "1080,1080";
|
||||
}
|
||||
{
|
||||
criteria = "DP-3";
|
||||
position = "1080,0";
|
||||
}
|
||||
{
|
||||
criteria = "DP-1";
|
||||
transform = "90";
|
||||
position = "0,0";
|
||||
}
|
||||
];
|
||||
profile.exec = [
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=main] move workspace to DP-3"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=term] move workspace to DP-1"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=msg] move workspace to eDP-1"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=music] move workspace to eDP-1"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=5] move workspace to DP-3"
|
||||
];
|
||||
}
|
||||
(luhbots_workstation {
|
||||
horizontal.name = "Dell Inc. DELL U2422HE GRCPH83";
|
||||
vertical = {
|
||||
name = "NEC Corporation E243WMi 7X313185NB";
|
||||
left = false;
|
||||
orientation = "90";
|
||||
};
|
||||
})
|
||||
(luhbots_workstation {
|
||||
horizontal.name = "Dell Inc. DELL U2422HE 8YCPH83";
|
||||
vertical = {
|
||||
name = "Dell Inc. DELL P2422HE 28XL9M3";
|
||||
left = false;
|
||||
orientation = "normal";
|
||||
};
|
||||
})
|
||||
(luhbots_workstation {
|
||||
horizontal.name = "Dell Inc. DELL U2422HE 53DCH83";
|
||||
vertical = {
|
||||
name = "Dell Inc. DELL U2412M 0FFXD46I4U5S";
|
||||
left = false;
|
||||
orientation = "90";
|
||||
};
|
||||
})
|
||||
(luhbots_workstation {
|
||||
horizontal.name = "Dell Inc. DELL P2422HE 4BXL9M";
|
||||
vertical = {
|
||||
name = "NEC Corporation E243WMi 75309334NB";
|
||||
left = true;
|
||||
orientation = "90";
|
||||
};
|
||||
})
|
||||
(luhbots_workstation {
|
||||
horizontal.name = "Dell Inc. DELL P2422HE JLXL9M3";
|
||||
vertical = {
|
||||
name = "NEC Corporation E243WMi 59118576NB";
|
||||
left = true;
|
||||
orientation = "90";
|
||||
};
|
||||
})
|
||||
(luhbots_workstation {
|
||||
horizontal.name = "Dell Inc. DELL P2422HE 7VWL9M3";
|
||||
vertical = {
|
||||
name = "ViewSonic Corporation VG2448 V5E201960167";
|
||||
left = false;
|
||||
orientation = "90";
|
||||
};
|
||||
})
|
||||
(luhbots_workstation {
|
||||
horizontal.name = "Dell Inc. DELL U2422HE 7HCPH83";
|
||||
vertical = {
|
||||
name = "Dell Inc. DELL U2422HE 1XFFH83";
|
||||
left = true;
|
||||
orientation = "90";
|
||||
};
|
||||
})
|
||||
(luhbots_workstation {
|
||||
horizontal.name = "Dell Inc. DELL U2422HE 5XY5H83";
|
||||
vertical = {
|
||||
name = "Dell Inc. DELL U2419H 11B7Y13";
|
||||
left = true;
|
||||
orientation = "270";
|
||||
};
|
||||
})
|
||||
(luhbots_workstation {
|
||||
horizontal.name = "Dell Inc. DELL P2422HE 4BXL9M3";
|
||||
vertical = {
|
||||
name = "NEC Corporation E243WMi 75309334NB";
|
||||
left = true;
|
||||
orientation = "90";
|
||||
};
|
||||
})
|
||||
{
|
||||
profile.name = "docked-4k";
|
||||
profile.outputs = [
|
||||
@@ -207,11 +163,15 @@ in {
|
||||
}
|
||||
];
|
||||
profile.exec = [
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=main] move workspace to HDMI-A-1"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=term] move workspace to eDP-1"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=msg] move workspace to eDP-1"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=music] move workspace to eDP-1"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=5] move workspace to HDMI-A-1"
|
||||
(sway_commands
|
||||
(
|
||||
(workspace "obsidian" "HDMI-A-1")
|
||||
++ (workspace "5" "HDMI-A-1")
|
||||
++ (workspace "music" "eDP-1")
|
||||
++ (workspace "msg" "eDP-1")
|
||||
++ (workspace "term" "eDP-1")
|
||||
++ (workspace "main" "HDMI-A-1")
|
||||
))
|
||||
];
|
||||
}
|
||||
{
|
||||
@@ -226,13 +186,62 @@ in {
|
||||
}
|
||||
];
|
||||
profile.exec = [
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=main] move workspace to eDP-1"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=term] move workspace to eDP-1"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=msg] move workspace to eDP-1"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=music] move workspace to eDP-1"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=5] move workspace to eDP-1"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=mirror] move workspace to HDMI-A-1"
|
||||
"${pkgs.sway}/bin/swaymsg [workspace=mirror] exec ${pkgs.wl-mirror}/bin/wl-mirror eDP-1"
|
||||
(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 {
|
||||
services.mako = {
|
||||
enable = true;
|
||||
actions = true;
|
||||
anchor = "top-right";
|
||||
settings = {
|
||||
actions = true;
|
||||
anchor = "top-right";
|
||||
|
||||
borderRadius = 10;
|
||||
borderSize = 2;
|
||||
height = 100;
|
||||
width = 400;
|
||||
border-radius = 10;
|
||||
border-size = 2;
|
||||
height = 100;
|
||||
width = 400;
|
||||
|
||||
defaultTimeout = 10000; # ms
|
||||
font = "FiraCode Nerd Font 11";
|
||||
icons = true;
|
||||
markup = true;
|
||||
default-timeout = 10000; # ms
|
||||
font = "FiraCode Nerd Font 11";
|
||||
icons = true;
|
||||
markup = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -116,15 +116,14 @@ in {
|
||||
};
|
||||
xsession.enable = true;
|
||||
|
||||
services.mako = {
|
||||
backgroundColor = "#313131";
|
||||
borderColor = "#00FFEE";
|
||||
progressColor = "#338833";
|
||||
textColor = "#e0e0e0";
|
||||
extraConfig = ''
|
||||
[urgency=low]
|
||||
border-color=#008877
|
||||
'';
|
||||
services.mako.settings = {
|
||||
background-color = "#313131";
|
||||
border-color = "#00FFEE";
|
||||
progress-color = "#338833";
|
||||
text-color = "#e0e0e0";
|
||||
"urgency=low" = {
|
||||
border-color = "#008877";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -144,5 +144,9 @@ in {
|
||||
};
|
||||
style = ./waybar.css;
|
||||
};
|
||||
home.packages = with pkgs;
|
||||
lib.mkIf cfg.squeekboard [
|
||||
glib
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -64,5 +64,7 @@ in {
|
||||
programs.steam.enable = true;
|
||||
|
||||
security.polkit.enable = true;
|
||||
|
||||
services.upower.enable = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -44,8 +44,6 @@ in {
|
||||
extraGroups = [];
|
||||
};
|
||||
|
||||
services.greetd.enable = true;
|
||||
|
||||
environment.etc."greetd/environments".text = ''
|
||||
sway
|
||||
'';
|
||||
@@ -55,5 +53,9 @@ in {
|
||||
whitesur-icon-theme
|
||||
whitesur-cursors
|
||||
];
|
||||
|
||||
environment.variables = {
|
||||
XKB_DEFAULT_LAYOUT = "de";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
auto-optimise-store = true;
|
||||
max-jobs = "auto";
|
||||
cores = 12;
|
||||
download-buffer-size = 524288000;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -25,11 +25,7 @@ in {
|
||||
ovmf = {
|
||||
enable = true;
|
||||
packages = [
|
||||
(pkgs.OVMF.override {
|
||||
secureBoot = true;
|
||||
tpmSupport = true;
|
||||
})
|
||||
.fd
|
||||
pkgs.OVMFFull.fd
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
@@ -12,7 +12,7 @@ in {
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
system.autoUpgrade = {
|
||||
enable = true;
|
||||
enable = false;
|
||||
flake = inputs.self.outPath;
|
||||
flags = [
|
||||
"--recreate-lock-file"
|
||||
|
||||
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:
|
||||
ssid: ENC[AES256_GCM,data:i76d33GIysjSY2k=,iv:34g02nNL5xYXx0PpN49u4xVHzfraTMtAqC4w4oxLBao=,tag:Y3g8kzhPF5LJuaxFq7jd3w==,type:str]
|
||||
psk: ENC[AES256_GCM,data:bb25mbWgCBvwEvKr4sRRXg==,iv:+oNkqdk0bEP1l1e+HpSveRrxJI8OfQtBVcQ5476kMLU=,tag:vdWSVd5pIRGab+lzP4oFHg==,type:str]
|
||||
ssid: ENC[AES256_GCM,data:NXV/fyH9brOD,iv:fwdot2Zotoxnng55p/bDT1KmO1oGozj8UadZYKgcF8k=,tag:fPF2N7TPq2TGjlfSLfryLQ==,type:str]
|
||||
psk: ENC[AES256_GCM,data:wrKsVQ/Ra8ruWPXLXolyHLyQul/7lFrBA72Cj14=,iv:BkGX4xxyqDdFXAw1Ur3YI4CAYJIW1dRjL8KYOgoxFVc=,tag:aP8wWk6UGEeZOVWhkiGT0g==,type:str]
|
||||
parents:
|
||||
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]
|
||||
@@ -26,8 +26,8 @@ sops:
|
||||
d0FZc0x5UVhPQ09xUE5Qa1A0QkExVmcKkcy1i+nME0uHlLy8vCu8vgqSuR+0NqaD
|
||||
D+zKRKNdfJn1TLsoyDb4iDSeqp8nB9fZzQqIJshGRhlnqxuzIiYqqA==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2024-03-20T19:10:46Z"
|
||||
mac: ENC[AES256_GCM,data:CAkdbGguJ/W1C0bZY7EE7IU9b6+4sspFbP5SpnybUULqJnR98MK55UT/2cfc6HYsN0RQCz7EtgZ06cjCELPn7AYFFYRbLSptrgBciIpMlDCX/22qlZ+Y6ehRr+j5scCifJITKwe9BfpLqVy27xPA1zFdbuiJkFHW0XKzSNk/hDQ=,iv:FdQlJH6LtksqloAz3+HKmERrTDntKs/lVTKJ1bTP0bM=,tag:aCY6u1ARccyuQix/wb1cfg==,type:str]
|
||||
lastmodified: "2025-05-05T13:46:43Z"
|
||||
mac: ENC[AES256_GCM,data:5V6dtgz6xDFXUqkTxAZ2mdNovMcz4rf64UJHp/oTY0Veqjesyx88etSz6y15E3CsKa4LQImBGtwfowVXa5eto5eBdO8fg07zzfSMT4lUmxPg/kTUJluLNpwph4HxP2mLo5h0o+4PDILuBrwS9ozOHOAzEj/iCKUmmmNFN598xkA=,iv:4MKHWixtku5pCSHfTgNmCIm5NHm5K6nVK1v589BFA9s=,tag:95ud48Qu1q016SCNFzciig==,type:str]
|
||||
pgp: []
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.8.1
|
||||
version: 3.9.4
|
||||
|
||||
Reference in New Issue
Block a user