working on screens and power stuff
This commit is contained in:
parent
6d3a143ce2
commit
2002da4dcf
14 changed files with 237 additions and 150 deletions
66
flake.lock
generated
66
flake.lock
generated
|
@ -69,11 +69,11 @@
|
|||
"nixpkgs-stable": "nixpkgs-stable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1739553792,
|
||||
"narHash": "sha256-W/VqlGtMXv4cQ1V5j1Sbfu59x8DWntEkTJWJNHo9P+Q=",
|
||||
"lastModified": 1739725136,
|
||||
"narHash": "sha256-UCFiCR/DiWbOYlhlGr941rg8fHh32iE188FJ5NiQFU4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "emacs-overlay",
|
||||
"rev": "3a93a0a8f94fd52260b39aefc05e7bc667ded0ab",
|
||||
"rev": "c356eb83c3461c19c2bf355d351354a0dcf76655",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -323,11 +323,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1739559906,
|
||||
"narHash": "sha256-iK5BXN5uDXVe76ssYTkFHl7oNZe+hhwcO3N7EN9yxqQ=",
|
||||
"lastModified": 1739735835,
|
||||
"narHash": "sha256-S4VskZCNjRX6saW7GtVb4MD3kWdfvRvLurLj9QcM4Wg=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "9daae9a67af7b4d341e2c806fa274a9c0925d7cf",
|
||||
"rev": "b15e9ec6769d770879759f086dd4e51fae7f2394",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -485,11 +485,11 @@
|
|||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1739183634,
|
||||
"narHash": "sha256-z//x2artwXwoCKc1QEqu4wbP6K8QheFUH6EZemlFqxo=",
|
||||
"lastModified": 1739687392,
|
||||
"narHash": "sha256-x1NU3jIYCpju8QCzIdLmS9bvLh9ATwYlMbA/TYfDsHs=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlock",
|
||||
"rev": "82b63a6930931f9a10db578d30bb868b0e91a211",
|
||||
"rev": "c4b2175822eaa13f8fd014b4763cdd10a7b69493",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -612,11 +612,11 @@
|
|||
"uv2nix": "uv2nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1739346879,
|
||||
"narHash": "sha256-Sq2mCT0LVrH6aVGkSZRVdUXnhT1FqiiYEEn7vpY/T7o=",
|
||||
"lastModified": 1739737907,
|
||||
"narHash": "sha256-b5wH4NiFBqQSKRHnAkYrhJBugnr/czUHJdH73dAXWzg=",
|
||||
"owner": "isd-project",
|
||||
"repo": "isd",
|
||||
"rev": "a820650e5a6210cbaa8dc48a5043fcce507014b7",
|
||||
"rev": "73df766d2014b9190fe3bc7456bd8b8269886049",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -712,11 +712,11 @@
|
|||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1739516087,
|
||||
"narHash": "sha256-X3WTcaL/9O3C03TZ+8PmXcn3sqCgig1RIYY/J27ZsLQ=",
|
||||
"lastModified": 1739627445,
|
||||
"narHash": "sha256-fl1kOwskXXa5dJsRcly9e+UaOTdjdvy8Jqg9WhKe0Nw=",
|
||||
"owner": "sodiboo",
|
||||
"repo": "niri-flake",
|
||||
"rev": "9669e839805737ce7c66c9c05a3f97017f84cf24",
|
||||
"rev": "b4f7ae09bc209e76944fed4648191dac8381ca76",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -745,11 +745,11 @@
|
|||
"niri-unstable": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1739513000,
|
||||
"narHash": "sha256-LDSApEzhz3I9441ocnkkEVJu18OnGSj4a4MaxvuJYMk=",
|
||||
"lastModified": 1739625307,
|
||||
"narHash": "sha256-BVTlrmelSAq+rlxwlRvsyZxHrmcviRu3aHJYG37Yq8c=",
|
||||
"owner": "YaLTeR",
|
||||
"repo": "niri",
|
||||
"rev": "7816f20e6a3ddc4057aa1ab35742dc7f67453bc2",
|
||||
"rev": "f01c840ebe71f152906dbc6212f077fc72626f89",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -912,11 +912,11 @@
|
|||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1739357830,
|
||||
"narHash": "sha256-9xim3nJJUFbVbJCz48UP4fGRStVW5nv4VdbimbKxJ3I=",
|
||||
"lastModified": 1739484910,
|
||||
"narHash": "sha256-wjWLzdM7PIq4ZAe7k3vyjtgVJn6b0UeodtRFlM/6W5U=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "0ff09db9d034a04acd4e8908820ba0b410d7a33a",
|
||||
"rev": "0b73e36b1962620a8ac551a37229dd8662dac5c8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -928,11 +928,11 @@
|
|||
},
|
||||
"nixpkgs-stable_2": {
|
||||
"locked": {
|
||||
"lastModified": 1739357830,
|
||||
"narHash": "sha256-9xim3nJJUFbVbJCz48UP4fGRStVW5nv4VdbimbKxJ3I=",
|
||||
"lastModified": 1739484910,
|
||||
"narHash": "sha256-wjWLzdM7PIq4ZAe7k3vyjtgVJn6b0UeodtRFlM/6W5U=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "0ff09db9d034a04acd4e8908820ba0b410d7a33a",
|
||||
"rev": "0b73e36b1962620a8ac551a37229dd8662dac5c8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -960,11 +960,11 @@
|
|||
},
|
||||
"nixpkgs-stable_4": {
|
||||
"locked": {
|
||||
"lastModified": 1739357830,
|
||||
"narHash": "sha256-9xim3nJJUFbVbJCz48UP4fGRStVW5nv4VdbimbKxJ3I=",
|
||||
"lastModified": 1739624908,
|
||||
"narHash": "sha256-f84lBmLl4tkDp1ZU5LBTSFzlxXP4926DVW3KnXrke10=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "0ff09db9d034a04acd4e8908820ba0b410d7a33a",
|
||||
"rev": "a60651b217d2e529729cbc7d989c19f3941b9250",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1040,11 +1040,11 @@
|
|||
},
|
||||
"nixpkgs_6": {
|
||||
"locked": {
|
||||
"lastModified": 1739446958,
|
||||
"narHash": "sha256-+/bYK3DbPxMIvSL4zArkMX0LQvS7rzBKXnDXLfKyRVc=",
|
||||
"lastModified": 1739580444,
|
||||
"narHash": "sha256-+/bSz4EAVbqz8/HsIGLroF8aNaO8bLRL7WfACN+24g4=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "2ff53fe64443980e139eaa286017f53f88336dd0",
|
||||
"rev": "8bb37161a0488b89830168b81c48aed11569cb93",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1429,11 +1429,11 @@
|
|||
"rust-overlay": "rust-overlay_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1739546226,
|
||||
"narHash": "sha256-d7zNnAovgxugkZabfRffp0eOf6GPUmSlNyd/XOPZOlQ=",
|
||||
"lastModified": 1739718339,
|
||||
"narHash": "sha256-JlU4RBbzqqCWyxvPNaroiIYatMCgvMOfjFKBW0oGBEg=",
|
||||
"owner": "sxyazi",
|
||||
"repo": "yazi",
|
||||
"rev": "38e45c647b9e93a9d837b6f4e3f345d85608cc1a",
|
||||
"rev": "f25ef0f07b99130261caf5a1605188b61ed6f617",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
#!/usr/bin/env fish
|
||||
|
||||
function dim-all-monitors
|
||||
brillo -e -O && brillo -e -u 150000 -S 15
|
||||
end
|
|
@ -2,7 +2,7 @@
|
|||
name = "desk-clam"
|
||||
exec = ["notify-send shikane \"Profile $SHIKANE_PROFILE_NAME has been applied\""]
|
||||
[[profile.output]]
|
||||
search = ["n=eDP-1"]
|
||||
search = "eDP-1"
|
||||
enable = false
|
||||
|
||||
[[profile.output]]
|
||||
|
@ -10,6 +10,7 @@ exec = ["notify-send shikane \"Profile $SHIKANE_PROFILE_NAME has been applied\""
|
|||
enable = true
|
||||
mode = "3840x2160@59.997Hz"
|
||||
position = "0,0"
|
||||
scale = 1
|
||||
|
||||
|
||||
[[profile]]
|
||||
|
@ -21,13 +22,14 @@ exec = ["notify-send shikane \"Profile $SHIKANE_PROFILE_NAME has been applied\""
|
|||
mode = "2560x1600@240Hz"
|
||||
position = "3840,0"
|
||||
adaptive_sync = true
|
||||
scale = 1
|
||||
|
||||
[[profile.output]]
|
||||
enable = true
|
||||
search = ["m=BenQ PD2725U", "s=N2N00414019", "v=PNP(BNQ)"]
|
||||
mode = "3840x2160@59.997Hz"
|
||||
position = "0,0"
|
||||
|
||||
scale = 1
|
||||
|
||||
[[profile]]
|
||||
name = "laptop"
|
||||
|
@ -38,7 +40,7 @@ exec = ["notify-send shikane \"Profile $SHIKANE_PROFILE_NAME has been applied\""
|
|||
mode = "2560x1600@240Hz"
|
||||
position = "0,0"
|
||||
adaptive_sync = true
|
||||
|
||||
scale = 1
|
||||
|
||||
# [[profile]]
|
||||
# name = "laptop-mirror"
|
||||
|
|
|
@ -87,6 +87,8 @@ config.enable_kitty_keyboard = true
|
|||
|
||||
config.unzoom_on_switch_pane = true
|
||||
|
||||
config.leader = { key = 'Space', mods = 'SHIFT', timeout_milliseconds = 1000 }
|
||||
|
||||
config.keys = {
|
||||
{
|
||||
key = 'Enter',
|
||||
|
@ -123,7 +125,7 @@ config.keys = {
|
|||
},
|
||||
{
|
||||
key = 'E',
|
||||
mods = 'CTRL',
|
||||
mods = 'CTRL|SHIFT',
|
||||
action = act.EmitEvent 'trigger-emacs-with-scrollback',
|
||||
},
|
||||
{
|
||||
|
@ -146,6 +148,17 @@ config.keys = {
|
|||
{ key='l', mods='CTRL|META', action=wezterm.action{ActivatePaneDirection="Right"} },
|
||||
{ key='j', mods='CTRL|META', action=wezterm.action{ActivatePaneDirection="Up"} },
|
||||
{ key='k', mods='CTRL|META', action=wezterm.action{ActivatePaneDirection="Down"} },
|
||||
|
||||
{
|
||||
key = "s",
|
||||
mods = "CTRL|SHIFT",
|
||||
action = workspace_switcher.switch_workspace(),
|
||||
},
|
||||
{
|
||||
key = "s",
|
||||
mods = "CTRL|META",
|
||||
action = workspace_switcher.switch_to_prev_workspace(),
|
||||
}
|
||||
}
|
||||
|
||||
tabline.setup({
|
||||
|
|
|
@ -1,7 +1,3 @@
|
|||
# Edit this configuration file to define what should be installed on
|
||||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
|
||||
{
|
||||
nix-config,
|
||||
config,
|
||||
|
@ -13,11 +9,13 @@
|
|||
{
|
||||
|
||||
imports = with nix-config.nixosModules; [
|
||||
# Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
./razer-speaker-fix.nix
|
||||
|
||||
sops-config
|
||||
niri
|
||||
kanata
|
||||
filesystems
|
||||
];
|
||||
|
||||
nixpkgs = {
|
||||
|
@ -42,8 +40,6 @@
|
|||
};
|
||||
|
||||
nix = {
|
||||
# registry.nixpkgs.flake = nixpkgs;
|
||||
# channel.enable = false;
|
||||
settings = {
|
||||
experimental-features = [
|
||||
"nix-command"
|
||||
|
@ -57,79 +53,14 @@
|
|||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
"cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="
|
||||
];
|
||||
# Workaround for https://github.com/NixOS/nix/issues/9574
|
||||
nix-path = config.nix.nixPath;
|
||||
};
|
||||
};
|
||||
|
||||
sops = {
|
||||
age.keyFile = "/home/emenel/.config/sops/age/keys.txt"; # must have no password!
|
||||
defaultSopsFile = ./secrets.yaml;
|
||||
secrets = {
|
||||
filez = {};
|
||||
};
|
||||
templates."smb-secrets".content = ''
|
||||
username=admin
|
||||
password=${config.sops.placeholder.filez}
|
||||
# '';
|
||||
};
|
||||
|
||||
|
||||
environment.etc = {
|
||||
"nixos/smb-secrets" = {
|
||||
source = config.sops.templates."smb-secrets".path;
|
||||
group = "users";
|
||||
};
|
||||
};
|
||||
|
||||
fileSystems =
|
||||
let
|
||||
automount_opts = "x-systemd.automount,noauto,users,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,uid=1000,credentials=/etc/nixos/smb-secrets";
|
||||
in {
|
||||
|
||||
"/mnt/filez/media" = {
|
||||
device = "//100.70.114.113/Media";
|
||||
fsType = "smb3";
|
||||
options = [
|
||||
"${automount_opts}"
|
||||
];
|
||||
};
|
||||
|
||||
"/mnt/filez/music-production" = {
|
||||
device = "//100.70.114.113/Music Production";
|
||||
fsType = "smb3";
|
||||
options = [
|
||||
"${automount_opts}"
|
||||
];
|
||||
};
|
||||
|
||||
"/mnt/filez/storage" = {
|
||||
device = "//100.70.114.113/Storage";
|
||||
fsType = "smb3";
|
||||
options = [
|
||||
"${automount_opts}"
|
||||
];
|
||||
};
|
||||
|
||||
"/mnt/filez/photos" = {
|
||||
device = "//100.70.114.113/Photo Storage";
|
||||
fsType = "smb3";
|
||||
options = [
|
||||
"${automount_opts}"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
# fileSystems."/mnt/beets-import" = {
|
||||
# device = "//100.103.170.132/media";
|
||||
# fsType = "smb3";
|
||||
# options = let
|
||||
# automount_opts = "x-systemd.automount,noauto,users,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,uid=1000";
|
||||
# in [
|
||||
# "${automount_opts}"
|
||||
# ];
|
||||
# };
|
||||
# Set your time zone.
|
||||
time.timeZone = "America/Toronto";
|
||||
|
||||
# Select internationalisation properties.
|
||||
i18n.defaultLocale = "en_CA.UTF-8";
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
wget
|
||||
|
@ -264,10 +195,11 @@ password=${config.sops.placeholder.filez}
|
|||
services.udev = {
|
||||
extraRules = ''
|
||||
DEVPATH=="/devices/virtual/misc/cpu_dma_latency", OWNER="root", GROUP="audio", MODE="0660"
|
||||
ACTION=="add", SUBSYSTEM=="i2c-dev", ATTR{name}=="AMDGPU DM*", TAG+="ddcci", TAG+="systemd", ENV{SYSTEMD_WANTS}+="ddcci@$kernel.service"
|
||||
ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="ddcci*", RUN+="${pkgs.coreutils-full}/bin/chgrp video /sys/class/backlight/%k/brightness"
|
||||
ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="ddcci*", RUN+="${pkgs.coreutils-full}/bin/chmod a+w /sys/class/backlight/%k/brightness"
|
||||
ACTION=="add", SUBSYSTEM=="i2c-dev", ATTR{name}=="AMDGPU DM*", TAG+="ddcci", TAG+="systemd", ENV{SYSTEMD_WANTS}+="ddcci@$kernel.service"
|
||||
ACTION=="add", SUBSYSTEM=="i2c-dev", ATTR{name}=="NVIDIA i2c adapter*", TAG+="ddcci", TAG+="systemd", ENV{SYSTEMD_WANTS}+="ddcci@$kernel.service"
|
||||
SUBSYSTEM=="i2c", ACTION=="add", ATTR{name}=="AMDGPU DM aux hw bus 3", RUN+="${pkgs.bash}/bin/bash -c 'sleep 30; printf ddcci\ 0x37 > /sys/bus/i2c/devices/i2c-17/new_device'"
|
||||
'';
|
||||
packages = [
|
||||
pkgs.via
|
||||
|
@ -313,6 +245,7 @@ password=${config.sops.placeholder.filez}
|
|||
security.rtkit.enable = true;
|
||||
security.pam.services.swaylock = { };
|
||||
security.pam.services.hyprlock = { };
|
||||
security.pam.services.greetd.enableGnomeKeyring = true;
|
||||
|
||||
services.xserver.videoDrivers = [
|
||||
"nvidia"
|
||||
|
@ -356,12 +289,6 @@ password=${config.sops.placeholder.filez}
|
|||
'';
|
||||
};
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "America/Toronto";
|
||||
|
||||
# Select internationalisation properties.
|
||||
i18n.defaultLocale = "en_CA.UTF-8";
|
||||
|
||||
services.xserver.enable = true;
|
||||
|
||||
# Enable the GNOME Desktop Environment.
|
||||
|
@ -541,21 +468,6 @@ password=${config.sops.placeholder.filez}
|
|||
services.accounts-daemon.enable = true;
|
||||
services.gnome.gnome-online-accounts.enable = true;
|
||||
|
||||
services.kmonad = {
|
||||
enable = true;
|
||||
keyboards = {
|
||||
sinc = {
|
||||
device = "/dev/input/by-id/usb-Keebio_Sinc_Rev._4-event-kbd";
|
||||
config = builtins.readFile ../../homes/emenel/dotfiles/dot_config/kmonad/sinc.kbd;
|
||||
};
|
||||
razer = {
|
||||
extraGroups = [ "openrazer" ];
|
||||
device = "/dev/input/by-id/usb-Razer_Razer_Blade-if01-event-kbd";
|
||||
config = builtins.readFile ../../homes/emenel/dotfiles/dot_config/kmonad/razer.kbd;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs.virt-manager.enable = true;
|
||||
|
||||
virtualisation = {
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{ ... }:
|
||||
{
|
||||
systemd.services.razer-speaker-fix = {
|
||||
enable = true;
|
||||
|
@ -2010,10 +2009,10 @@ hda-verb /dev/snd/hwC3D0 0x20 0x400 0xb031
|
|||
hda-verb /dev/snd/hwC3D0 0x20 0x400 0x0
|
||||
hda-verb /dev/snd/hwC3D0 0x20 0x500 0x23
|
||||
hda-verb /dev/snd/hwC3D0 0x20 0x400 0xdd00
|
||||
|
||||
wpctl set-volume 95 1
|
||||
|
||||
'';
|
||||
|
||||
};
|
||||
}
|
||||
# amixer sset Master unmute
|
||||
# amixer sset Speaker unmute
|
||||
# amixer sset Headphone unmute
|
||||
|
|
|
@ -15,25 +15,40 @@
|
|||
# TODO add screen dimming and test configurations with different monitors
|
||||
listener = [
|
||||
# battery timers
|
||||
{
|
||||
timeout = "60";
|
||||
on-timeout = "systemd-ac-power || dim-all-monitors";
|
||||
on-resume = "brillo -e -u 150000 -I";
|
||||
}
|
||||
{
|
||||
timeout = "120";
|
||||
on-timeout = "systemd-ac-power || lock-power-off-monitors";
|
||||
}
|
||||
|
||||
{
|
||||
timeout = "300";
|
||||
on-timeout = "systemd-ac-power || lock-suspend";
|
||||
}
|
||||
|
||||
# ac power timers
|
||||
{
|
||||
timeout = "90";
|
||||
on-timeout = "systemd-ac-power && dim-all-monitors";
|
||||
on-resume = "brillo -e -u 150000 -I";
|
||||
}
|
||||
|
||||
{
|
||||
timeout = "180";
|
||||
on-timeout = "systemd-ac-power && loginctl lock-session";
|
||||
}
|
||||
|
||||
{
|
||||
timeout = "200";
|
||||
on-timeout = "systemd-ac-power && lock-power-off-monitors";
|
||||
}
|
||||
|
||||
{
|
||||
timeout = "600";
|
||||
on-timeout = "systemd-ac-power && loginctl lock-session && systemctl suspend";
|
||||
on-timeout = "systemd-ac-power && lock-suspend";
|
||||
}
|
||||
];
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ in {
|
|||
{ command = ["maestral_qt"]; }
|
||||
{ command = ["clipse" "-listen"]; }
|
||||
{ command = ["waybar"]; }
|
||||
{ command = [ "systemctl" "--user" "restart" "xwayland-satellite.service" ]; }
|
||||
{ command = [ "systemctl" "--user" "restart" "xwayland-satellite.service" "shikane.service" ]; }
|
||||
];
|
||||
|
||||
workspaces = {
|
||||
|
@ -222,8 +222,6 @@ in {
|
|||
action = spawn "swayosd-client" "--input-volume" "mute-toggle";
|
||||
};
|
||||
|
||||
|
||||
# TODO write shell script that sets swayosd and light -O to store new value for recall
|
||||
"XF86MonBrightnessUp" = {
|
||||
allow-when-locked=true;
|
||||
action = spawn "swayosd-client" "--brightness" "raise";
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
tldr
|
||||
glow
|
||||
delta
|
||||
btop
|
||||
btop-rocm
|
||||
gnupg
|
||||
imagemagick
|
||||
gnutls
|
||||
|
@ -61,6 +61,7 @@
|
|||
powertop
|
||||
age
|
||||
kdotool
|
||||
manix
|
||||
|
||||
caligula
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
home.packages = [ pkgs.shikane ];
|
||||
|
@ -6,7 +6,7 @@
|
|||
systemd.user.services.shikane = {
|
||||
Unit = {
|
||||
Description = "Shikane";
|
||||
PartOf = [ "graphical-session.target" ];
|
||||
After = [ "graphical-session.target" ];
|
||||
};
|
||||
Install = {
|
||||
WantedBy = [ "graphical-session.target" ];
|
||||
|
|
41
modules/system/filesystems.nix
Normal file
41
modules/system/filesystems.nix
Normal file
|
@ -0,0 +1,41 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
fileSystems =
|
||||
let
|
||||
automount-opts = "x-systemd.automount,noauto,users,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,uid=1000";
|
||||
filez-opts = automount-opts + ",credentials=/etc/nixos/filez-secrets";
|
||||
media-server-opts = automount-opts + ",credentials=/etc/nixos/media-server-secrets";
|
||||
in {
|
||||
|
||||
"/mnt/filez/media" = {
|
||||
device = "//100.70.114.113/Media";
|
||||
fsType = "smb3";
|
||||
options = [ "${filez-opts}" ];
|
||||
};
|
||||
|
||||
"/mnt/filez/music-production" = {
|
||||
device = "//100.70.114.113/Music Production";
|
||||
fsType = "smb3";
|
||||
options = [ "${filez-opts}" ];
|
||||
};
|
||||
|
||||
"/mnt/filez/storage" = {
|
||||
device = "//100.70.114.113/Storage";
|
||||
fsType = "smb3";
|
||||
options = [ "${filez-opts}" ];
|
||||
};
|
||||
|
||||
"/mnt/filez/photos" = {
|
||||
device = "//100.70.114.113/Photo Storage";
|
||||
fsType = "smb3";
|
||||
options = [ "${filez-opts}" ];
|
||||
};
|
||||
|
||||
"/mnt/beets-import" = {
|
||||
device = "//100.103.170.132/media";
|
||||
fsType = "smb3";
|
||||
options = [ "${media-server-opts}" ];
|
||||
};
|
||||
};
|
||||
}
|
67
modules/system/kanata.nix
Normal file
67
modules/system/kanata.nix
Normal file
|
@ -0,0 +1,67 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
services.kanata = {
|
||||
enable = true;
|
||||
keyboards = {
|
||||
sinc = {
|
||||
devices = [ "/dev/input/by-id/usb-Keebio_Sinc_Rev._4-event-kbd" ];
|
||||
config = ''
|
||||
(defsrc
|
||||
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 prtsc ins
|
||||
grv 1 2 3 4 5 6 7 8 9 0 - = \ del home
|
||||
tab q w e r t y u i o p [ ] bspc end
|
||||
caps a s d f g h j k l ; ' ret pgup
|
||||
lsft z x c v b n m , . / rsft up pgdn
|
||||
lctl slck lmet lalt spc ralt rmet rctrl left down right)
|
||||
|
||||
(defalias
|
||||
supesc (tap-hold-press 100 200 esc lmet)
|
||||
sp-lsft (tap-hold-press 100 200 S-9 lsft)
|
||||
sp-rsft (tap-hold-press 100 200 S-0 lsft)
|
||||
controls (layer-while-held controls))
|
||||
|
||||
(deflayer qwerty
|
||||
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 prtsc ins
|
||||
grv 1 2 3 4 5 6 7 8 9 0 - = \ del home
|
||||
tab q w e r t y u i o p [ ] bspc end
|
||||
@supesc a s d f g h j k l ; ' ret pgup
|
||||
@sp-lsft z x c v b n m , . / @sp-rsft up pgdn
|
||||
lmet @controls lalt lctrl spc rctrl ralt rmet left down right)
|
||||
|
||||
(deflayer controls
|
||||
esc VolumeMute VolumeDown VolumeUp f4 f5 MediaPlayPause MediaTrackPrevious MediaTrackNext f9 f10 f11 f12 prtsc ins
|
||||
grv 1 2 3 4 5 6 7 8 9 0 - = \ del home
|
||||
tab q w e r t y u i o p [ ] bspc end
|
||||
@supesc a s d f g h j k l ; ' ret pgup
|
||||
@sp-lsft z x c v b n m , . / @sp-rsft pgup _
|
||||
lmet lmet lalt lctrl spc rctrl ralt rmet home pgdn end)
|
||||
|
||||
'';
|
||||
};
|
||||
razer = {
|
||||
devices = [];
|
||||
config = ''
|
||||
(defsrc
|
||||
grv 1 2 3 4 5 6 7 8 9 0 - = bspc
|
||||
tab q w e r t y u i o p [ ] \
|
||||
caps a s d f g h j k l ; ' ret
|
||||
lsft z x c v b n m , . / rsft
|
||||
lctrl lmet lalt spc ralt rctrl)
|
||||
|
||||
(defalias
|
||||
supesc (tap-hold-press 200 200 esc lmet)
|
||||
sp-lsft (tap-hold-press 200 200 S-9 lsft)
|
||||
sp-rsft (tap-hold-press 200 200 S-0 lsft))
|
||||
|
||||
(deflayer qwerty
|
||||
grv 1 2 3 4 5 6 7 8 9 0 - = bspc
|
||||
tab q w e r t y u i o p [ ] \
|
||||
@supesc a s d f g h j k l ; ' ret
|
||||
@sp-lsft z x c v b n m , . / @sp-rsft
|
||||
lmet lalt lctrl spc rctrl ralt)
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,4 +1,5 @@
|
|||
filez: ENC[AES256_GCM,data:pOnl/B+dFc+Fks7Yb3c=,iv:V99CfTUmFq9ijFHU88OIvySvKw91a9hx0fXLikaAOdY=,tag:L1E2Wur2yVYaGeY+3Ku1WA==,type:str]
|
||||
media-server: ENC[AES256_GCM,data:dqwbLUXItYrx7w==,iv:lo356taPBlPPD4CqtlbQzvUJRcym0SQc1sHMYW593vw=,tag:nzhLMzVnOc0eDa/7cfnLuA==,type:str]
|
||||
sops:
|
||||
kms: []
|
||||
gcp_kms: []
|
||||
|
@ -14,8 +15,8 @@ sops:
|
|||
OFJGS2ljaTVFcWJDL3h2S0tLR3pyekkKBY4veCtc5cmVxoDeFf1LufbFhMHnYu7U
|
||||
jWaEgDUHHPpiR7+4XZI+Es71kyM+0q2UK0KSU5227eDCLkFvRN5uYg==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2025-02-12T01:06:05Z"
|
||||
mac: ENC[AES256_GCM,data:H6vfNxeGOBFtKpQr/sdtbbUX6WmV7dFN37QdAhfYJlVnUJbJqhzuyfVKUCceTwZVf18MIXKJAaGzoDUr0bL5ljA2immqmvWGSVAhmztHueRXIzWbOQVYLP5djSvFzp0yWttzG9W7j9hANkyaLsyrC9PArucWnvrwQuFf9ZA0TGM=,iv:4KcjbarJFpUcNUE06jiA43cMGGYE4GY8DgPMsnNn3iY=,tag:MWn+q4SwxWltNEfFN6HZgQ==,type:str]
|
||||
lastmodified: "2025-02-15T16:32:18Z"
|
||||
mac: ENC[AES256_GCM,data:drTH1sdk/KUXfeFXJVyB+21orb7maspVaDr2zZRT2z3PqLKtXVUHqSTaXKb7hETi052ibLqSfyrSCgpNcLMB4yAPrLz/u7nADcxvrnmugAkGgR/w4sK8YPNqw0F04Xx1GQV1SNcFi5lj2xBhRI862sUUiEkUEGM8UieVMgx5pFM=,iv:qBwza6BLls0WiW2DpDkb7PIt5vpjj3LmQaArDGgRXIo=,tag:W/REzW4zCNpptvbXDVCpCA==,type:str]
|
||||
pgp: []
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.9.4
|
33
modules/system/sops-config.nix
Normal file
33
modules/system/sops-config.nix
Normal file
|
@ -0,0 +1,33 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
sops = {
|
||||
age.keyFile = "/home/emenel/.config/sops/age/keys.txt"; # must have no password!
|
||||
defaultSopsFile = ./secrets.yaml;
|
||||
secrets = {
|
||||
filez = {};
|
||||
media-server = {};
|
||||
};
|
||||
templates."media-server-secrets".content = ''
|
||||
username=media
|
||||
password=${config.sops.placeholder.media-server}
|
||||
'';
|
||||
templates."filez-secrets".content = ''
|
||||
username=admin
|
||||
password=${config.sops.placeholder.filez}
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
environment.etc = {
|
||||
"nixos/filez-secrets" = {
|
||||
source = config.sops.templates."filez-secrets".path;
|
||||
group = "users";
|
||||
};
|
||||
"nixos/media-server-secrets" = {
|
||||
source = config.sops.templates."media-server-secrets".path;
|
||||
group = "users";
|
||||
};
|
||||
};
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue