Fix statix warnings

This commit is contained in:
Erwin Boskma 2023-09-13 14:50:03 +02:00
parent 0cc41287d4
commit 5480e4be81
Signed by: erwin
SSH key fingerprint: SHA256:9LmFDe1C6jSrEyqxxvX8NtJBmcbB105XoqyUZF092bg
16 changed files with 826 additions and 715 deletions

View file

@ -19,8 +19,10 @@
pre-commit-hooks = {
url = "github:cachix/pre-commit-hooks.nix";
inputs.flake-utils.follows = "flake-utils";
inputs.nixpkgs.follows = "nixpkgs";
inputs = {
flake-utils.follows = "flake-utils";
nixpkgs.follows = "nixpkgs";
};
};
nixinate = {
@ -35,14 +37,18 @@
rust-overlay = {
url = "github:oxalica/rust-overlay";
inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-utils.follows = "flake-utils";
inputs = {
nixpkgs.follows = "nixpkgs";
flake-utils.follows = "flake-utils";
};
};
microvm = {
url = "github:astro/microvm.nix";
inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-utils.follows = "flake-utils";
inputs = {
nixpkgs.follows = "nixpkgs";
flake-utils.follows = "flake-utils";
};
};
sops = {
@ -52,15 +58,19 @@
emacs-overlay = {
url = "github:nix-community/emacs-overlay";
inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-utils.follows = "flake-utils";
inputs = {
nixpkgs.follows = "nixpkgs";
flake-utils.follows = "flake-utils";
};
};
nil = {
url = "github:oxalica/nil";
inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-utils.follows = "flake-utils";
inputs.rust-overlay.follows = "rust-overlay";
inputs = {
nixpkgs.follows = "nixpkgs";
flake-utils.follows = "flake-utils";
rust-overlay.follows = "rust-overlay";
};
};
disko = {
@ -74,35 +84,45 @@
eww = {
url = "github:elkowar/eww";
inputs.nixpkgs.follows = "nixpkgs";
inputs.rust-overlay.follows = "rust-overlay";
inputs = {
nixpkgs.follows = "nixpkgs";
rust-overlay.follows = "rust-overlay";
};
};
caddy-with-plugins = {
url = "github:eboskma/caddy-with-plugins";
inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-parts.follows = "flake-parts";
inputs = {
nixpkgs.follows = "nixpkgs";
flake-parts.follows = "flake-parts";
};
};
ha-now-playing = {
url = "git+https://git.datarift.nl/erwin/ha-now-playing.git?ref=main";
inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-utils.follows = "flake-utils";
inputs.rust-overlay.follows = "rust-overlay";
inputs.pre-commit-hooks.follows = "pre-commit-hooks";
inputs = {
nixpkgs.follows = "nixpkgs";
flake-utils.follows = "flake-utils";
rust-overlay.follows = "rust-overlay";
pre-commit-hooks.follows = "pre-commit-hooks";
};
};
pamedia = {
url = "git+https://git.datarift.nl/erwin/pamedia-rs.git?ref=main";
inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-utils.follows = "flake-utils";
inputs.naersk.follows = "naersk";
inputs = {
nixpkgs.follows = "nixpkgs";
flake-utils.follows = "flake-utils";
naersk.follows = "naersk";
};
};
sunshine = {
url = "git+https://git@git.datarift.nl/erwin/sunshine.git?ref=main";
inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-utils.follows = "flake-utils";
inputs = {
nixpkgs.follows = "nixpkgs";
flake-utils.follows = "flake-utils";
};
};
};

View file

@ -12,58 +12,60 @@ in
};
config = mkIf cfg.enable {
programs.fish = {
enable = true;
functions = import ./functions.nix { inherit (pkgs) git coreutils; };
programs = {
fish = {
enable = true;
functions = import ./functions.nix { inherit (pkgs) git coreutils; };
plugins = [
{
name = "dracula";
src = pkgs.fetchFromGitHub {
owner = "dracula";
repo = "fish";
rev = "62b109f12faab5604f341e8b83460881f94b1550";
sha256 = "0TlKq2ur2I6Bv7pu7JObrJxV0NbQhydmCuUs6ZdDU1I=";
};
}
];
plugins = [
{
name = "dracula";
src = pkgs.fetchFromGitHub {
owner = "dracula";
repo = "fish";
rev = "62b109f12faab5604f341e8b83460881f94b1550";
sha256 = "0TlKq2ur2I6Bv7pu7JObrJxV0NbQhydmCuUs6ZdDU1I=";
};
}
];
shellAliases = {
# code = "${pkgs.vscode}/bin/code --enable-features=UseOzonePlatform --ozone-platform=wayland";
ls = "${pkgs.eza}/bin/eza -Fb --git";
shellAliases = {
# code = "${pkgs.vscode}/bin/code --enable-features=UseOzonePlatform --ozone-platform=wayland";
ls = "${pkgs.eza}/bin/eza -Fb --git";
vimdiff = mkIf config.eboskma.programs.neovim.enable "nvim -d";
vim = mkIf config.eboskma.programs.neovim.enable "nvim";
vi = mkIf config.eboskma.programs.neovim.enable "nvim";
};
interactiveShellInit = ''
vimdiff = mkIf config.eboskma.programs.neovim.enable "nvim -d";
vim = mkIf config.eboskma.programs.neovim.enable "nvim";
vi = mkIf config.eboskma.programs.neovim.enable "nvim";
};
interactiveShellInit = ''
'';
};
};
programs.fzf = {
enable = true;
enableFishIntegration = true;
changeDirWidgetCommand = "${pkgs.fd}/bin/fd -type d";
defaultCommand = "${pkgs.fd}/bin/fd -type f";
defaultOptions = [
"--cycle"
"--layout=reverse"
"--border"
"--height=90%"
"--preview-window=wrap"
"--marker='*'"
];
fileWidgetCommand = "${pkgs.fd}/bin/fd -type f";
};
fzf = {
enable = true;
enableFishIntegration = true;
changeDirWidgetCommand = "${pkgs.fd}/bin/fd -type d";
defaultCommand = "${pkgs.fd}/bin/fd -type f";
defaultOptions = [
"--cycle"
"--layout=reverse"
"--border"
"--height=90%"
"--preview-window=wrap"
"--marker='*'"
];
fileWidgetCommand = "${pkgs.fd}/bin/fd -type f";
};
programs.direnv = {
enable = true;
nix-direnv.enable = true;
};
direnv = {
enable = true;
nix-direnv.enable = true;
};
programs.zoxide = {
enable = true;
enableFishIntegration = true;
zoxide = {
enable = true;
enableFishIntegration = true;
};
};
};
}

View file

@ -176,32 +176,46 @@ in
format = "<label-state> <label-mode>";
label.mode.text = "󰁌 %mode%"; # Icon: arrow_expand_all
label.mode.padding = 1;
label = {
mode = {
text = "󰁌 %mode%"; # Icon: arrow_expand_all
padding = 1;
};
label.focused.text = " %index%"; # Icon: fa-circle
label.focused.padding = 1;
label.focused.background = "#333333";
label.focused.underline = "#ffffff";
focused = {
text = " %index%"; # Icon: fa-circle
padding = 1;
background = "#333333";
underline = "#ffffff";
};
label.unfocused.text = " %index%"; # Icon: fa-circle_o
label.unfocused.padding = 1;
unfocused = {
text = " %index%"; # Icon: fa-circle_o
padding = 1;
};
label.visible.text = " %index%"; # Icon: fa-dot_circle_o
label.visible.padding = 1;
visible = {
text = " %index%"; # Icon: fa-dot_circle_o
padding = 1;
};
label.urgent.text = " %index%"; # Icon: fa-exclamation_circle
label.urgent.background = "${colors.urgent}";
label.urgent.padding = 1;
urgent = {
text = " %index%"; # Icon: fa-exclamation_circle
background = "${colors.urgent}";
padding = 1;
};
};
};
"module/playerctl" = {
type = "custom/script";
exec = "${polybar-playerctl}/bin/polybar-playerctl";
interval = 1;
click.left = "${polybar-playerctl}/bin/polybar-playerctl play-pause";
click.middle = "${polybar-playerctl}/bin/polybar-playerctl next";
click.right = "${polybar-playerctl}/bin/polybar-playerctl prevous";
click = {
left = "${polybar-playerctl}/bin/polybar-playerctl play-pause";
middle = "${polybar-playerctl}/bin/polybar-playerctl next";
right = "${polybar-playerctl}/bin/polybar-playerctl prevous";
};
format.padding = 2;
scroll.up = "${polybar-playerctl}/bin/polybar-playerctl next-player";
@ -210,11 +224,15 @@ in
"module/date" = {
type = "internal/date";
interval = 1.0;
time.text = " %H:%M:%S";
time.alt = " %a, %d %b %Y";
time = {
text = " %H:%M:%S";
alt = " %a, %d %b %Y";
};
format.text = "<label>";
format.padding = 2;
format = {
text = "<label>";
padding = 2;
};
label.text = "%time%";
};
@ -224,22 +242,28 @@ in
exec = "${headset-battery}";
interval = 1;
format.prefix = " ";
format.padding = 2;
format = {
prefix = " ";
padding = 2;
};
label.text = "%output%";
click.left = "${pkgs.headsetcontrol}/bin/headsetcontrol -s 128";
click.right = "${pkgs.headsetcontrol}/bin/headsetcontrol -s 0";
click = {
left = "${pkgs.headsetcontrol}/bin/headsetcontrol -s 128";
right = "${pkgs.headsetcontrol}/bin/headsetcontrol -s 0";
};
};
"module/memory" = {
type = "internal/memory";
interval = 1;
format.text = "<label>";
format.prefix = "󰍛 "; # Icon: memory
format.padding = 2;
format = {
text = "<label>";
prefix = "󰍛 "; # Icon: memory
padding = 2;
};
label.text = "%mb_used% (%percentage_used%%)";
};
@ -248,9 +272,11 @@ in
type = "internal/cpu";
interval = 1;
format.text = "<label>";
format.prefix = "󰻠 "; # Icon: cpu_64_bit
format.padding = 2;
format = {
text = "<label>";
prefix = "󰻠 "; # Icon: cpu_64_bit
padding = 2;
};
label = "%percentage:3%%";
};
@ -261,17 +287,25 @@ in
use.ui.max = false;
format.volume.text = "<ramp-volume> <label-volume>";
format.volume.padding = 2;
format = {
volume = {
text = "<ramp-volume> <label-volume>";
padding = 2;
};
format.muted.text = "<label-muted>";
format.muted.prefix = "󰖁"; # Icon: volume_off
format.muted.background = "${colors.urgent}";
format.muted.padding = 2;
muted = {
text = "<label-muted>";
prefix = "󰖁"; # Icon: volume_off
background = "${colors.urgent}";
padding = 2;
};
};
label.volume.text = "%percentage%%";
label = {
volume.text = "%percentage%%";
label.muted.text = " Muted";
muted.text = " Muted";
};
ramp.volume = [ "󰕿" "󰖀" "󰕾" ]; # Icons: volume_low volume_medium volume_high
@ -289,28 +323,38 @@ in
accumulate.stats = true;
unknown.as.up = true;
format.connected.text = "<label-connected>";
format.connected.padding = 2;
format = {
connected = {
text = "<label-connected>";
padding = 2;
};
format.disconnected.text = "<label-disconnected>";
format.disconnected.padding = 2;
disconnected = {
text = "<label-disconnected>";
padding = 2;
};
format.packetloss.text = "<animation-packetloss> <label-connected>";
packetloss.text = "<animation-packetloss> <label-connected>";
};
label.connected.text = "󰈀 %local_ip% %upspeed:9% %downspeed:9%"; # Icon: ethernet
label.disconnected.text = "󰲜 %{A1:networkmanager_dmenu &:} Offline%{A}"; # Icon: network_off_outline
label = {
connected.text = "󰈀 %local_ip% %upspeed:9% %downspeed:9%"; # Icon: ethernet
disconnected.text = "󰲜 %{A1:networkmanager_dmenu &:} Offline%{A}"; # Icon: network_off_outline
};
animation.packetloss.text = [
{
text = "";
foreground = "${colors.urgent}";
}
{
text = "";
foreground = "${colors.foreground}";
}
];
animation.packetloss.framerate = 500;
animation = {
packetloss.text = [
{
text = "";
foreground = "${colors.urgent}";
}
{
text = "";
foreground = "${colors.foreground}";
}
];
packetloss.framerate = 500;
};
};
};
};

View file

@ -54,9 +54,6 @@
};
};
services.udev.extraRules = ''
ATTR{address}=="96:00:02:12:a2:eb", NAME="eth0"
'';
### Hetzner stuff
boot = {
@ -77,27 +74,34 @@
system.configurationRevision = self.inputs.nixpkgs.lib.mkIf (self ? rev) self.rev;
services.openssh = {
enable = true;
settings = {
PasswordAuthentication = false;
};
};
services.tailscale.enable = true;
services = {
udev.extraRules = ''
ATTR{address}=="96:00:02:12:a2:eb", NAME="eth0"
'';
services.caddy = {
virtualHosts = {
"datarift.nl" = {
extraConfig = ''
@webfinger-erwin {
path /.well-known/webfinger
query resource=acct:erwin@datarift.nl
}
respond @webfinger-erwin 200 {
body `{"subject":"acct:erwin@datarift.nl","links":[{"rel":"http://openid.net/specs/connect/1.0/issuer","href":"https://id.datarift.nl/realms/datarift"}]}`
close
}
'';
openssh = {
enable = true;
settings = {
PasswordAuthentication = false;
};
};
tailscale.enable = true;
caddy = {
virtualHosts = {
"datarift.nl" = {
extraConfig = ''
@webfinger-erwin {
path /.well-known/webfinger
query resource=acct:erwin@datarift.nl
}
respond @webfinger-erwin 200 {
body `{"subject":"acct:erwin@datarift.nl","links":[{"rel":"http://openid.net/specs/connect/1.0/issuer","href":"https://id.datarift.nl/realms/datarift"}]}`
close
}
'';
};
};
};
};

View file

@ -65,19 +65,21 @@
};
fileSystems."/" = {
device = "/dev/disk/by-uuid/42065c7e-d0aa-4de8-a913-014cf59d48ac";
fsType = "ext4";
};
fileSystems = {
"/" = {
device = "/dev/disk/by-uuid/42065c7e-d0aa-4de8-a913-014cf59d48ac";
fsType = "ext4";
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/4064-A1BE";
fsType = "vfat";
};
"/boot" = {
device = "/dev/disk/by-uuid/4064-A1BE";
fsType = "vfat";
};
fileSystems."/home" = {
device = "/dev/disk/by-uuid/082ec5d2-238e-4713-9c37-31b1cb0fb8c3";
fsType = "ext4";
"/home" = {
device = "/dev/disk/by-uuid/082ec5d2-238e-4713-9c37-31b1cb0fb8c3";
fsType = "ext4";
};
};
swapDevices = [{ device = "/dev/disk/by-uuid/d93788f7-1b94-4687-8313-055d17f42b7e"; }];
@ -98,8 +100,7 @@
kernelPackages = pkgs.linuxPackages_latest;
kernelModules = [ "kvm-amd" "apple-mfi-fastcharge" "zenpower" "nf_nat_ftp" ];
kernelParams = [ "amd_pstate.shared_mem=1" ];
extraModulePackages = [ ] ++
(with config.boot.kernelPackages; [ zenpower cpupower ]);
extraModulePackages = with config.boot.kernelPackages; [ zenpower cpupower ];
loader = {
systemd-boot = {
@ -110,20 +111,6 @@
};
};
services.udev = {
extraHwdb = ''
evdev:name:ELECOM TrackBall Mouse HUGE TrackBall:*
ID_INPUT_KEY=1
KEYBOARD_KEY_90008=red
KEYBOARD_KEY_90007=copy
KEYBOARD_KEY_90006=paste
'';
extraRules = ''
ACTION=="add", ATTRS{idVendor}=="0951", ATTRS{idProduct}=="1666", NAME=keys
'';
};
time.timeZone = "Europe/Amsterdam";
networking = {
@ -308,38 +295,56 @@
};
};
services.openssh.enable = true;
# programs.ssh.startAgent = true;
services = {
udev = {
extraHwdb = ''
evdev:name:ELECOM TrackBall Mouse HUGE TrackBall:*
ID_INPUT_KEY=1
KEYBOARD_KEY_90008=red
KEYBOARD_KEY_90007=copy
KEYBOARD_KEY_90006=paste
'';
programs.gnome-disks.enable = true;
extraRules = ''
ACTION=="add", ATTRS{idVendor}=="0951", ATTRS{idProduct}=="1666", NAME=keys
'';
};
openssh.enable = true;
udisks2 = {
enable = true;
};
envfs.enable = true;
cpupower-gui.enable = true;
tailscale.enable = true;
sunshine = {
enable = true;
user = "erwin";
openFirewall = true;
};
services.udisks2 = {
enable = true;
};
services.envfs.enable = true;
services.cpupower-gui.enable = true;
services.tailscale.enable = true;
programs = {
gnome-disks.enable = true;
# ssh.startAgent = true;
programs.gamemode = {
enable = true;
settings = {
general = {
renice = 5;
};
custom = {
start = "${pkgs.libnotify}/bin/notify-send 'GameMode started'";
end = "${pkgs.libnotify}/bin/notify-send 'GameMode ended'";
gamemode = {
enable = true;
settings = {
general = {
renice = 5;
};
custom = {
start = "${pkgs.libnotify}/bin/notify-send 'GameMode started'";
end = "${pkgs.libnotify}/bin/notify-send 'GameMode ended'";
};
};
};
};
services.sunshine = {
enable = true;
user = "erwin";
openFirewall = true;
};
powerManagement = {
cpuFreqGovernor = "ondemand";
};

View file

@ -62,24 +62,26 @@
systemd.enable = true;
};
fileSystems."/" = {
device = "/dev/disk/by-label/nixos";
fsType = "ext4";
};
fileSystems = {
"/" = {
device = "/dev/disk/by-label/nixos";
fsType = "ext4";
};
fileSystems."/boot" = {
device = "/dev/disk/by-label/boot";
fsType = "vfat";
};
"/boot" = {
device = "/dev/disk/by-label/boot";
fsType = "vfat";
};
fileSystems."/home" = {
device = "/dev/disk/by-label/home";
fsType = "ext4";
};
"/home" = {
device = "/dev/disk/by-label/home";
fsType = "ext4";
};
fileSystems."/yocto" = {
device = "/dev/disk/by-label/yocto";
fsType = "ext4";
"/yocto" = {
device = "/dev/disk/by-label/yocto";
fsType = "ext4";
};
};
swapDevices =
@ -112,8 +114,7 @@
};
kernelModules = [ "kvm-amd" "apple-mfi-fastcharge" "zenpower" ];
# boot.kernelParams = [ "amd_pstate.shared_mem=1" ];
extraModulePackages = [ ] ++
(with config.boot.kernelPackages; [ rtl88x2bu zenpower cpupower ]);
extraModulePackages = with config.boot.kernelPackages; [ rtl88x2bu zenpower cpupower ];
loader = {
systemd-boot = {
enable = true;
@ -237,48 +238,51 @@
};
};
services.openssh.enable = true;
# programs.ssh.startAgent = true;
services.envfs.enable = true;
services.cpupower-gui.enable = true;
services.flatpak.enable = true;
services = {
openssh.enable = true;
services.tailscale.enable = true;
envfs.enable = true;
cpupower-gui.enable = true;
flatpak.enable = true;
tailscale.enable = true;
services.xserver = {
videoDrivers = [ "nvidia" ];
xserver = {
videoDrivers = [ "nvidia" ];
screenSection = ''
Option "metamodes" "DP-0: nvidia-auto-select +0+0 {ForceFullCompositionPipeline=On, AllowGSYNCCompatible=On}, DP-4: nvidia-auto-select +3840+0 {ForceFullCompositionPipeline=On, AllowGSYNCCompatible=On}"
Option "TripleBuffer" "On"
'';
screenSection = ''
Option "metamodes" "DP-0: nvidia-auto-select +0+0 {ForceFullCompositionPipeline=On, AllowGSYNCCompatible=On}, DP-4: nvidia-auto-select +3840+0 {ForceFullCompositionPipeline=On, AllowGSYNCCompatible=On}"
Option "TripleBuffer" "On"
'';
libinput = {
enable = true;
mouse = {
naturalScrolling = true;
accelSpeed = "1.0";
};
touchpad = {
naturalScrolling = true;
libinput = {
enable = true;
mouse = {
naturalScrolling = true;
accelSpeed = "1.0";
};
touchpad = {
naturalScrolling = true;
};
};
};
};
services.nxserver = {
enable = true;
openFirewall = true;
};
nxserver = {
enable = true;
openFirewall = true;
};
services.icecream.daemon = {
enable = true;
icecream.daemon = {
enable = true;
schedulerHost = "icecream.internal.horus.nu";
noRemote = true;
openFirewall = false;
openBroadcast = true;
schedulerHost = "icecream.internal.horus.nu";
noRemote = true;
openFirewall = false;
openBroadcast = true;
};
};
environment.systemPackages = with pkgs; [

View file

@ -8,14 +8,6 @@ in
home-manager.users.erwin = {
_module.args.flake-inputs = inputs;
programs.home-manager.enable = true;
programs.command-not-found.enable = true;
home.username = "erwin";
home.homeDirectory = "/home/erwin";
home.stateVersion = "23.05";
eboskma = {
programs = {
bat.enable = true;
@ -32,16 +24,26 @@ in
};
};
home.packages = with pkgs; [
atool
bottom
btop
fd
iotop
procs
ripgrep
units
];
programs.home-manager.enable = true;
programs.command-not-found.enable = true;
home = {
username = "erwin";
homeDirectory = "/home/erwin";
stateVersion = "23.05";
packages = with pkgs; [
atool
bottom
btop
fd
iotop
procs
ripgrep
units
];
};
xdg = {
enable = true;

View file

@ -70,58 +70,60 @@
};
};
services.openssh.enable = true;
services.tailscale.enable = true;
services = {
openssh.enable = true;
tailscale.enable = true;
services.kanata = {
enable = true;
kanata = {
enable = true;
keyboards = {
code = {
devices = [
"/dev/input/by-id/usb-04d9_USB_Keyboard-event-kbd"
];
keyboards = {
code = {
devices = [
"/dev/input/by-id/usb-04d9_USB_Keyboard-event-kbd"
];
config = ''
(defsrc
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 prtsc scrlck pp
grv 1 2 3 4 5 6 7 8 9 0 - = bspc ins home pgup
tab q w e r t y u i o p [ ] \ del end pgdn
caps a s d f g h j k l ; ' ret
lsft z x c v b n m , . / rsft up
lctl lmet lalt spc ralt rmet rctl lft down rght)
config = ''
(defsrc
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 prtsc scrlck pp
grv 1 2 3 4 5 6 7 8 9 0 - = bspc ins home pgup
tab q w e r t y u i o p [ ] \ del end pgdn
caps a s d f g h j k l ; ' ret
lsft z x c v b n m , . / rsft up
lctl lmet lalt spc ralt rmet rctl lft down rght)
(deflayer colemak
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 prtsc @qwe pp
grv 1 2 3 4 5 6 7 8 9 0 - = bspc ins home pgup
tab q w f p g j l u y ; [ ] \ del end pgdn
@cap a r s t d h n e i o ' ret
lsft z x c v b k m , . / rsft up
lctl lmet lalt spc ralt rmet rctl lft down rght)
(deflayer colemak
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 prtsc @qwe pp
grv 1 2 3 4 5 6 7 8 9 0 - = bspc ins home pgup
tab q w f p g j l u y ; [ ] \ del end pgdn
@cap a r s t d h n e i o ' ret
lsft z x c v b k m , . / rsft up
lctl lmet lalt spc ralt rmet rctl lft down rght)
(deflayer qwerty
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 prtsc @col pp
grv 1 2 3 4 5 6 7 8 9 0 - = bspc ins home pgup
tab q w e r t y u i o p [ ] \ del end pgdn
@cap a s d f g h j k l ; ' ret
lsft z x c v b n m , . / rsft up
lctl lmet lalt spc ralt rmet rctl lft down rght)
(deflayer qwerty
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 prtsc @col pp
grv 1 2 3 4 5 6 7 8 9 0 - = bspc ins home pgup
tab q w e r t y u i o p [ ] \ del end pgdn
@cap a s d f g h j k l ; ' ret
lsft z x c v b n m , . / rsft up
lctl lmet lalt spc ralt rmet rctl lft down rght)
(defalias
cap (tap-hold 100 100 bspc lctl)
col (layer-switch colemak)
qwe (layer-switch qwerty)
)
'';
(defalias
cap (tap-hold 100 100 bspc lctl)
col (layer-switch colemak)
qwe (layer-switch qwerty)
)
'';
};
};
};
};
services.xserver = {
enable = true;
windowManager.i3 = {
xserver = {
enable = true;
extraPackages = with pkgs; [ i3lock-color ];
windowManager.i3 = {
enable = true;
extraPackages = with pkgs; [ i3lock-color ];
};
};
};

View file

@ -6,17 +6,6 @@ in
home-manager.users.erwin = {
_module.args.flake-inputs = inputs;
programs.home-manager.enable = true;
programs.command-not-found.enable = true;
home.username = "erwin";
home.homeDirectory = "/home/erwin";
home.sessionVariables = {
EDITOR = "${pkgs.neovim}/bin/neovim";
};
home.stateVersion = "23.05";
eboskma = {
programs = {
alacritty.enable = true;
@ -48,28 +37,38 @@ in
};
};
home.packages = with pkgs;
[
atool
bottom
falkon
fd
gnome.nautilus
imagemagick
imv
iotop
libnotify
mpv
nordzy-cursor-theme
quintom-cursor-theme
procs
ripgrep
units
unzip
xdg-utils
wl-clipboard
zeal
];
home = {
username = "erwin";
homeDirectory = "/home/erwin";
sessionVariables = {
EDITOR = "${pkgs.neovim}/bin/neovim";
};
stateVersion = "23.05";
packages = with pkgs;
[
atool
bottom
falkon
fd
gnome.nautilus
imagemagick
imv
iotop
libnotify
mpv
nordzy-cursor-theme
quintom-cursor-theme
procs
ripgrep
units
unzip
xdg-utils
wl-clipboard
zeal
];
};
xdg = {
enable = true;
@ -138,6 +137,11 @@ in
};
};
programs = {
home-manager.enable = true;
command-not-found.enable = true;
};
imports = [
../../modules/options
] ++ (map (mod: (../../home-manager/modules + "/${mod}")) (builtins.attrNames (builtins.readDir ../../home-manager/modules)));

View file

@ -12,19 +12,20 @@ in
};
config = mkIf cfg.enable {
boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ];
# Register a v4l2loopback device at boot
boot.kernelModules = [
"v4l2loopback"
];
boot.extraModprobeConfig = ''
options v4l2loopback max_buffers=2
options v4l2loopback exclusive_caps=1
options v4l2loopback video_nr=10
options v4l2loopback card_label="VirtualCam"
'';
boot = {
extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ];
# Register a v4l2loopback device at boot
kernelModules = [
"v4l2loopback"
];
extraModprobeConfig = ''
options v4l2loopback max_buffers=2
options v4l2loopback exclusive_caps=1
options v4l2loopback video_nr=10
options v4l2loopback card_label="VirtualCam"
'';
};
environment.systemPackages = with pkgs; [ backscrub ];
};
}

View file

@ -93,7 +93,7 @@ in
};
services.udev = {
packages = [ ] ++ (optional cfg.udev-rules.qmk qmkUdevRules)
packages = (optional cfg.udev-rules.qmk qmkUdevRules)
++ (optional cfg.udev-rules.probe-rs probersRules)
++ (optional cfg.udev-rules.blink1 blink1Rules)
++ (optional cfg.udev-rules.picotool picotoolRules)

View file

@ -45,8 +45,7 @@ in
group = "greeter";
};
"greetd/environments" = {
text = concatStringsSep "\n" ([ ]
++ (optional cfg.sway "${pkgs.sway}/bin/sway")
text = concatStringsSep "\n" ((optional cfg.sway "${pkgs.sway}/bin/sway")
++ [ "${pkgs.bash}/bin/bash" ]);
user = "greeter";
group = "greeter";

View file

@ -7,166 +7,168 @@ in
options.eboskma.klipper = { enable = mkEnableOption "klipper"; };
config = mkIf cfg.enable {
services.klipper = {
enable = true;
firmwares = {
mcu = {
enable = true;
configFile = ./firmware-config;
serial = "/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A600KWST-if00-port0";
services = {
klipper = {
enable = true;
firmwares = {
mcu = {
enable = true;
configFile = ./firmware-config;
serial = "/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A600KWST-if00-port0";
};
};
settings = {
stepper_x = {
step_pin = "PA3";
dir_pin = "!PA1";
enabe_pin = "!PA5";
rotation_distance = 40;
microsteps = 16;
endstop_pin = "^PA0";
position_min = -10;
position_endstop = -10;
position_max = 195;
homing_speed = 50;
homing_retract_dist = 5;
};
stepper_y = {
step_pin = "PC6";
dir_pin = "!PC4";
enabe_pin = "!PA7";
rotation_distance = 40;
microsteps = 16;
endstop_pin = "^PA4";
position_min = 0;
position_endstop = 0;
position_max = 200;
homing_speed = 50;
homing_retract_dist = 5;
};
stepper_z = {
step_pin = "PC0";
dir_pin = "PG2";
enabe_pin = "!PC2";
rotation_distance = 2;
microsteps = 16;
endstop_pin = "^PC7";
position_min = 0;
position_endstop = 0;
position_max = 180;
homing_speed = 5;
homing_retract_dist = 5;
};
extruder = {
step_pin = "PL6";
dir_pin = "!PL4";
enable_pin = "!PG0";
rotation_distance = 34.043;
microsteps = 16;
nozzle_diameter = 0.400;
filament_diameter = 1.75;
max_extrude_only_distance = 150;
heater_pin = "PE4";
sensor_type = "EPCOS 100K B57560G104F";
sensor_pin = "PK0";
control = "pid";
pid_Kp = 12.33;
pid_Ki = 0.51;
pid_Kd = 74.50;
min_temp = 0;
max_temp = 250;
max_extrude_cross_section = 5;
};
heater_bed = {
heater_pin = "PG5";
sensor_type = "ATC Semitec 104GT-2";
sensor_pin = "PK2";
control = "pid";
pid_Kp = 234.88;
pid_Ki = 42.79;
pid_Kd = 322.28;
min_temp = 0;
max_temp = 120;
};
bed_screws = {
screw1 = "20,7";
screw2 = "190,7";
screw3 = "190,180";
screw4 = "20,180";
};
fan.pin = "PH4";
mcu.serial = config.services.klipper.firmwares.mcu.serial;
printer = {
kinematics = "cartesian";
max_velocity = 400;
max_accel = 5000;
max_z_velocity = 5;
max_z_accel = 75;
};
display = {
lcd_type = "hd44780";
rs_pin = "PD1";
e_pin = "PH0";
d4_pin = "PH1";
d5_pin = "PD0";
d6_pin = "PE3";
d7_pin = "PH3";
encoder_pins = "PL7,PG1";
click_pin = "^!PD2";
};
# These are necessary for Fluidd
virtual_sdcard = {
path = "/var/lib/klipper/gcode_files";
};
display_status = { };
pause_resume = { };
} // (import ./klipper-macros.nix);
};
moonraker = {
enable = true;
allowSystemControl = true;
settings = {
authorization = {
cors_domains = [
"*.local"
"*://my.mainsail.xyz"
];
trusted_clients = [
"10.0.0.0/24"
"10.1.0.0/24"
"100.64.0.0/16"
"127.0.0.0/8"
"fe80::/10"
"::1/128"
];
};
history = { };
octoprint_compat = {
enable_ufp = false;
};
zeroconf = { };
};
};
settings = {
stepper_x = {
step_pin = "PA3";
dir_pin = "!PA1";
enabe_pin = "!PA5";
rotation_distance = 40;
microsteps = 16;
endstop_pin = "^PA0";
position_min = -10;
position_endstop = -10;
position_max = 195;
homing_speed = 50;
homing_retract_dist = 5;
};
stepper_y = {
step_pin = "PC6";
dir_pin = "!PC4";
enabe_pin = "!PA7";
rotation_distance = 40;
microsteps = 16;
endstop_pin = "^PA4";
position_min = 0;
position_endstop = 0;
position_max = 200;
homing_speed = 50;
homing_retract_dist = 5;
};
stepper_z = {
step_pin = "PC0";
dir_pin = "PG2";
enabe_pin = "!PC2";
rotation_distance = 2;
microsteps = 16;
endstop_pin = "^PC7";
position_min = 0;
position_endstop = 0;
position_max = 180;
homing_speed = 5;
homing_retract_dist = 5;
};
extruder = {
step_pin = "PL6";
dir_pin = "!PL4";
enable_pin = "!PG0";
rotation_distance = 34.043;
microsteps = 16;
nozzle_diameter = 0.400;
filament_diameter = 1.75;
max_extrude_only_distance = 150;
heater_pin = "PE4";
sensor_type = "EPCOS 100K B57560G104F";
sensor_pin = "PK0";
control = "pid";
pid_Kp = 12.33;
pid_Ki = 0.51;
pid_Kd = 74.50;
min_temp = 0;
max_temp = 250;
max_extrude_cross_section = 5;
};
heater_bed = {
heater_pin = "PG5";
sensor_type = "ATC Semitec 104GT-2";
sensor_pin = "PK2";
control = "pid";
pid_Kp = 234.88;
pid_Ki = 42.79;
pid_Kd = 322.28;
min_temp = 0;
max_temp = 120;
};
bed_screws = {
screw1 = "20,7";
screw2 = "190,7";
screw3 = "190,180";
screw4 = "20,180";
};
fan.pin = "PH4";
mcu.serial = config.services.klipper.firmwares.mcu.serial;
printer = {
kinematics = "cartesian";
max_velocity = 400;
max_accel = 5000;
max_z_velocity = 5;
max_z_accel = 75;
};
display = {
lcd_type = "hd44780";
rs_pin = "PD1";
e_pin = "PH0";
d4_pin = "PH1";
d5_pin = "PD0";
d6_pin = "PE3";
d7_pin = "PH3";
encoder_pins = "PL7,PG1";
click_pin = "^!PD2";
};
# These are necessary for Fluidd
virtual_sdcard = {
path = "/var/lib/klipper/gcode_files";
};
display_status = { };
pause_resume = { };
} // (import ./klipper-macros.nix);
};
services.moonraker = {
enable = true;
allowSystemControl = true;
settings = {
authorization = {
cors_domains = [
"*.local"
"*://my.mainsail.xyz"
];
trusted_clients = [
"10.0.0.0/24"
"10.1.0.0/24"
"100.64.0.0/16"
"127.0.0.0/8"
"fe80::/10"
"::1/128"
];
};
history = { };
octoprint_compat = {
enable_ufp = false;
};
zeroconf = { };
mainsail = {
enable = true;
hostName = config.networking.hostName;
};
};
services.mainsail = {
enable = true;
hostName = config.networking.hostName;
};
};
}

View file

@ -9,22 +9,6 @@ in
home-manager.users.erwin = {
_module.args.flake-inputs = inputs;
programs.home-manager.enable = true;
programs.command-not-found.enable = true;
services.blueman-applet.enable = bt.enable;
services.gnome-keyring = {
enable = true;
components = [ "pkcs11" "ssh" "secrets" ];
};
home.username = "erwin";
home.homeDirectory = "/home/erwin";
home.sessionVariables = { };
home.stateVersion = "21.11";
eboskma = {
programs = {
alacritty.enable = false;
@ -132,57 +116,65 @@ in
};
};
home.packages = with pkgs;
[
ardour
atool
bitwarden
blink1-tool
bottom
dbeaver
easyeffects
fd
ffmpeg_5-full
freecad
gnome.nautilus
helvum
horizon-eda
imagemagick
imv
iotop
(jetbrains.clion.override { jdk = pkgs.jetbrains.jdk; })
kicad
larynx
libnotify
libreoffice-fresh
minio-client
mpv
nomachine-client
nordzy-cursor-theme
(noson.overrideAttrs (_: { qtWrapperArgs = ''--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ pkgs.libpulseaudio ]}''; }))
pamedia
pass
pavucontrol
povray
quintom-cursor-theme
procs
prusa-slicer
qgis
ripgrep
scid-vs-pc
signal-desktop
solo2-cli
steam
steamcmd
steam-tui
# super-slicer-latest
units
unzip
xdg-utils
wl-clipboard
zeal
]
++ (with gst_all_1; [ gstreamer gstreamer.dev gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav gst-vaapi ]);
home = {
username = "erwin";
homeDirectory = "/home/erwin";
sessionVariables = { };
stateVersion = "21.11";
packages = with pkgs;
[
ardour
atool
bitwarden
blink1-tool
bottom
dbeaver
easyeffects
fd
ffmpeg_5-full
freecad
gnome.nautilus
helvum
horizon-eda
imagemagick
imv
iotop
(jetbrains.clion.override { jdk = pkgs.jetbrains.jdk; })
kicad
larynx
libnotify
libreoffice-fresh
minio-client
mpv
nomachine-client
nordzy-cursor-theme
(noson.overrideAttrs (_: { qtWrapperArgs = ''--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ pkgs.libpulseaudio ]}''; }))
pamedia
pass
pavucontrol
povray
quintom-cursor-theme
procs
prusa-slicer
qgis
ripgrep
scid-vs-pc
signal-desktop
solo2-cli
steam
steamcmd
steam-tui
# super-slicer-latest
units
unzip
xdg-utils
wl-clipboard
zeal
]
++ (with gst_all_1; [ gstreamer gstreamer.dev gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav gst-vaapi ]);
};
xdg = {
enable = true;
@ -251,20 +243,34 @@ in
};
};
services.udiskie = {
enable = true;
tray = "auto";
notify = true;
settings = {
program_options = {
menu = "nested";
programs = {
home-manager.enable = true;
command-not-found.enable = true;
};
services = {
blueman-applet.enable = bt.enable;
gnome-keyring = {
enable = true;
components = [ "pkcs11" "ssh" "secrets" ];
};
udiskie = {
enable = true;
tray = "auto";
notify = true;
settings = {
program_options = {
menu = "nested";
};
device_config = [
{
device_file = "/dev/loop*";
ignore = true;
}
];
};
device_config = [
{
device_file = "/dev/loop*";
ignore = true;
}
];
};
};
@ -277,28 +283,31 @@ in
# OBS control websocket
networking.firewall.allowedTCPPorts = [ 4455 ];
programs.steam = {
enable = true;
package = pkgs.steam.override {
extraPkgs = sp: with sp; [ gamescope ];
programs = {
steam = {
enable = true;
package = pkgs.steam.override {
extraPkgs = sp: with sp; [ gamescope ];
};
};
gamescope = {
enable = true;
args = [
"--rt"
"--fullscreen"
];
};
bandwhich.enable = true;
noisetorch.enable = true;
wireshark = {
enable = true;
package = pkgs.wireshark;
};
};
programs.gamescope = {
enable = true;
args = [
"--rt"
"--fullscreen"
];
};
programs.bandwhich.enable = true;
programs.noisetorch.enable = true;
services.ddccontrol.enable = true;
programs.wireshark = {
enable = true;
package = pkgs.wireshark;
};
users.groups.wireshark.members = [ "erwin" ];
};
}

View file

@ -8,16 +8,8 @@ in
home-manager.users.erwin = {
_module.args.flake-inputs = inputs;
programs.home-manager.enable = true;
programs.command-not-found.enable = true;
home.username = "erwin";
home.homeDirectory = "/home/erwin";
nixpkgs.config.allowUnfree = true;
home.stateVersion = "23.05";
eboskma = {
programs = {
bat.enable = true;
@ -33,16 +25,30 @@ in
};
};
home.packages = with pkgs; [
atool
bottom
btop
fd
iotop
procs
ripgrep
units
];
programs = {
home-manager.enable = true;
command-not-found.enable = true;
};
home = {
username = "erwin";
homeDirectory = "/home/erwin";
stateVersion = "23.05";
packages = with pkgs; [
atool
bottom
btop
fd
iotop
procs
ripgrep
units
];
};
xdg = {
enable = true;

View file

@ -24,20 +24,6 @@ in
home-manager.users.erwin = {
_module.args.flake-inputs = inputs;
programs.home-manager.enable = true;
programs.command-not-found.enable = true;
services.gnome-keyring = {
enable = true;
components = [ "pkcs11" "ssh" "secrets" ];
};
home.username = "erwin";
home.homeDirectory = "/home/erwin";
home.sessionVariables = {
# EDITOR = "${config.home-manager.users.erwin.eboskma.programs.emacs.package}/bin/emacsclient -c";
};
eboskma = {
var.workSystem = true;
programs = {
@ -130,50 +116,75 @@ in
xbanish.enable = true;
};
};
programs.home-manager.enable = true;
programs.command-not-found.enable = true;
home.packages = with pkgs; [
atool
bitwarden
blink1-tool
bottom
cider
dbeaver
dconf
fd
ffmpeg_5-full
gnome.nautilus
icemon
imagemagick
imv
iotop
(jetbrains.clion.override { jdk = pkgs.jetbrains.jdk; })
libnotify
libreoffice-fresh
minio-client
mpv
nordzy-cursor-theme
pamedia
pass
quintom-cursor-theme
procs
qgis
recursive
ripgrep
s-tui
solo2-cli
stress
units
unzip
xdg-utils
xkb-switch
wine
zathura
zeal
services.gnome-keyring = {
enable = true;
components = [ "pkcs11" "ssh" "secrets" ];
};
home = {
username = "erwin";
homeDirectory = "/home/erwin";
sessionVariables = {
# EDITOR = "${config.home-manager.users.erwin.eboskma.programs.emacs.package}/bin/emacsclient -c";
};
stateVersion = "22.11";
packages = with pkgs; [
atool
bitwarden
blink1-tool
bottom
cider
dbeaver
dconf
fd
ffmpeg_5-full
gnome.nautilus
icemon
imagemagick
imv
iotop
(jetbrains.clion.override { jdk = pkgs.jetbrains.jdk; })
libnotify
libreoffice-fresh
minio-client
mpv
nordzy-cursor-theme
pamedia
pass
quintom-cursor-theme
procs
qgis
recursive
ripgrep
s-tui
solo2-cli
stress
units
unzip
xdg-utils
xkb-switch
wine
zathura
zeal
localSessionScript
remoteSessionScript
]
++ (with gst_all_1; [ gstreamer gstreamer.dev gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav gst-vaapi ]);
pointerCursor = {
name = "elementary";
package = pkgs.pantheon.elementary-gtk-theme;
gtk.enable = true;
x11.enable = true;
};
};
localSessionScript
remoteSessionScript
]
++ (with gst_all_1; [ gstreamer gstreamer.dev gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav gst-vaapi ]);
xdg = {
enable = true;
@ -244,51 +255,47 @@ in
};
};
home.pointerCursor = {
name = "elementary";
package = pkgs.pantheon.elementary-gtk-theme;
gtk.enable = true;
x11.enable = true;
};
imports = [
../../modules/options
] ++ (map (mod: (../../home-manager/modules + "/${mod}")) (builtins.attrNames (builtins.readDir ../../home-manager/modules)));
home.stateVersion = "22.11";
};
services.teamviewer.enable = true;
services = {
teamviewer.enable = true;
udev.packages = with pkgs; [
headsetcontrol
];
xserver = {
# layout = "us,us";
# xkbVariant = "colemak,";
# xkbModel = "pc105";
xkbOptions = "eurosign:5,lv5:ralt_switch,lv3:rwin_switch";
upscaleDefaultCursor = false;
exportConfiguration = true;
windowManager.i3 = {
enable = true;
package = pkgs.i3-gaps;
extraPackages = with pkgs; [ i3lock-color ];
};
};
};
programs = {
bandwhich.enable = true;
wireshark = {
enable = true;
package = pkgs.wireshark;
};
};
users.groups.wireshark.members = [ "erwin" ];
environment.systemPackages = with pkgs; [
headsetcontrol
];
services.udev.packages = with pkgs; [
headsetcontrol
];
services.xserver = {
# layout = "us,us";
# xkbVariant = "colemak,";
# xkbModel = "pc105";
xkbOptions = "eurosign:5,lv5:ralt_switch,lv3:rwin_switch";
upscaleDefaultCursor = false;
exportConfiguration = true;
windowManager.i3 = {
enable = true;
package = pkgs.i3-gaps;
extraPackages = with pkgs; [ i3lock-color ];
};
};
programs.bandwhich.enable = true;
programs.wireshark = {
enable = true;
package = pkgs.wireshark;
};
users.groups.wireshark.members = [ "erwin" ];
};
}