Compare commits

..

No commits in common. "main" and "x" have entirely different histories.
main ... x

19 changed files with 522 additions and 413 deletions

View file

@ -30,13 +30,9 @@
time.timeZone = "Europe/Berlin"; time.timeZone = "Europe/Berlin";
services.openssh.enable = true; services.openssh.enable = true;
networking.firewall.enable = true; networking.firewall.enable = true;
nixpkgs.config.permittedInsecurePackages = [ nixpkgs.config.permittedInsecurePackages = [ "openssl-1.0.2u" ];
"openssl-1.0.2u"
"python3.10-kerberos-1.3.1"
];
# removed for mobile working # removed for mobile working
# system.autoUpgrade.enable = true; # system.autoUpgrade.enable = true;

View file

@ -1,34 +1,24 @@
font: font:
normal: normal:
family: CaskaydiaCove Nerd Font family: CaskaydiaCove Nerd Font
size: 8 size: 12
draw_bold_text_with_bright_colors: true draw_bold_text_with_bright_colors: true
colors: colors:
primary: primary:
background: '0xf8f8f8' background: "0x19181A"
foreground: '0x2a2b33' foreground: "0xFCFCFA"
normal: normal:
black: '0x000000' black: "0x19181A"
red: '0xde3d35' red: "0xcc6666"
green: '0x3e953a' green: "0xa9dc76"
yellow: '0xd2b67b' yellow: "0xffd866"
blue: '0x2f5af3' cyan: "0x78dce8"
magenta: '0xa00095' magenta: "0xFC9867"
cyan: '0x3e953a' blue: "0xAB9DF2"
white: '0xbbbbbb' white: "0xFCFCFA"
bright:
black: '0x000000'
red: '0xde3d35'
green: '0x3e953a'
yellow: '0xd2b67b'
blue: '0x2f5af3'
magenta: '0xa00095'
cyan: '0x3e953a'
white: '0xffffff'
window: window:
dynamic_title: true dynamic_title: true

167
dotfiles/i3/config Normal file
View file

@ -0,0 +1,167 @@
# config
set $mod Mod1
set $left h
set $down j
set $up k
set $right l
set $term alacritty
set $wallpaper /home/stefan/Downloads/bg.jpg
set $lock swaylock -t -i $wallpaper --scaling=fill
set $font CaskaydiaCove Nerd Font 10
set $menucolor --ff=#f8f8f2 --nf=#f8f8f2 --tf=#bd93f9 --hf=#bd93f9 --tb=#282a36 --fb=#282a36 --nb=#282a36 --hb=#282a36 --sb=#282a36
set $menu dmenu_run
#input "1:1:AT_Translated_Set_2_keyboard" xkb_layout de
#input "0:0:TUXEDO_Keyboard" xkb_layout de
#
#output * bg $wallpaper fill
#output "BenQ Corporation BenQ SW2700 83H03922SL0" res --custom 2560x1440@60Hz
#output "Dell Inc. Dell U4919DW HZVZWP2" res 5120x1440
# user keybinds
bindsym $mod+Return exec $term
bindsym $mod+Shift+q kill
bindsym $mod+d exec $menu
floating_modifier $mod normal
bindsym $mod+Shift+c reload
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -b 'Yes, exit sway' 'swaymsg exit'
bindsym $mod+o exec keepassxc
bindsym $mod+z exec $lock
bindsym $mod+Up exec light -A 5
bindsym $mod+Down exec light -U 5
bindsym $mod+c exec alacritty --class float -t pyCalc -e python
bindsym $mod+i exec alacritty --class float -t insect -e insect
bindsym $mod+Space exec swayr switch-to
bindsym $mod+n exec swayr switch-to-urgent-or-lru-window
bindsym Print exec grim -g "$(slurp)" - | wl-copy -t image/png
#bindswitch --reload --locked lid:on output eDP-1 disable
#bindswitch --reload --locked lid:off output eDP-1 enable
# app rules
#for_window [app_id="org.keepassxc.KeePassXC"] floating enable
#for_window [title="Firefox — Sharing Indicator"] floating enable
#for_window [title="Picture-in-Picture"] floating enable
#for_window [title="pyCalc"] floating enable
#for_window [title="insect"] floating enable
# font
font $font
# colors
set $black #282a36
set $red #ff6188
set $cyan #78dce8
set $white #fcfcfa
set $yellow #f1fa8c
set $violet #bd93f9
set $black2 #323232
# border backgnd text indicator childborder
client.focused $violet $black $white $violet $violet
client.focused_inactive $black $black $white $black2 $black
client.unfocused $black $black $white $black2 $black
client.urgent $red $red $black $black2 $white
# movement
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right
bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right
bindsym $mod+1 workspace 1
bindsym $mod+2 workspace 2
bindsym $mod+3 workspace 3
bindsym $mod+4 workspace 4
bindsym $mod+5 workspace 5
bindsym $mod+6 workspace 6
bindsym $mod+7 workspace 7
bindsym $mod+8 workspace 8
bindsym $mod+9 workspace 9
bindsym $mod+0 workspace 10
bindsym $mod+Shift+1 move container to workspace 1
bindsym $mod+Shift+2 move container to workspace 2
bindsym $mod+Shift+3 move container to workspace 3
bindsym $mod+Shift+4 move container to workspace 4
bindsym $mod+Shift+5 move container to workspace 5
bindsym $mod+Shift+6 move container to workspace 6
bindsym $mod+Shift+7 move container to workspace 7
bindsym $mod+Shift+8 move container to workspace 8
bindsym $mod+Shift+9 move container to workspace 9
bindsym $mod+Shift+0 move container to workspace 10
bindsym $mod+b splith
bindsym $mod+v splitv
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
bindsym $mod+f fullscreen
bindsym $mod+Shift+space floating toggle
bindsym $mod+space focus mode_toggle
bindsym $mod+a focus parent
bindsym $mod+Shift+minus move scratchpad
bindsym $mod+minus scratchpad show
mode "resize" {
bindsym $left resize shrink width 10px
bindsym $down resize grow height 10px
bindsym $up resize shrink height 10px
bindsym $right resize grow width 10px
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
mode "umlaut" {
bindsym s exec wtype ß
bindsym a exec wtype ä
bindsym o exec wtype ö
bindsym u exec wtype ü
bindsym Shift+a exec wtype Ä
bindsym Shift+o exec wtype Ö
bindsym Shift+u exec wtype Ü
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+u mode "umlaut"
bar {
font $font
position bottom
colors {
background $black
statusline $white
separator $violet
# border back text
focused_workspace $violet $violet $black
active_workspace $violet $violet $black
urgent_workspace $red $red $white
inactive_workspace $black $black $white
}
status_command i3status-rs /etc/sway/status.toml
}
set $gnome-schema org.gnome.desktop.interface
exec_always {
gsettings set $gnome-schema gtk-theme 'Dracula'
gsettings set $gnome-schema icon-theme 'Dracula'
gsettings set $gnome-schema cursor-theme 'Capitaine Cursors - White'
}
# autostarts
exec dunst
exec emacs --daemon
#exec /run/current-system/sw/libexec/polkit-gnome-authentication-agent-1
exec systemctl --user import-environment DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR
exec bash -c '[ "$HOSTNAME" == sphere ] && cloudstation'
#exec swayrd
# pastebin
#exec wl-paste --primary -t text --watch clipman store
#bindsym $mod+p exec clipman pick -t "bemenu" --tool-args='-b --fn "$font" -l 10 $menucolor'

107
dotfiles/i3/status.toml Normal file
View file

@ -0,0 +1,107 @@
[theme]
name = "plain"
[theme.overrides]
idle_bg = "#282a36"
idle_fg = "#f8f8f2"
info_bg = "#282a36"
info_fg = "#f8f8f2"
good_bg = "#282a36"
good_fg = "#50fa7b"
warning_bg = "#282a36"
warning_fg = "#f1fa8c"
critical_bg = "#282a36"
critical_fg = "#ff5555"
separator_bg = "#282a36"
separator_fg = "#bd93f9"
separator = "|"
[icons]
name = "none"
[icons.overrides]
backlight_empty = ""
backlight_full = ""
backlight_partial1 = ""
backlight_partial2 = ""
backlight_partial3 = ""
bat = ""
bat_charging = ""
bat_discharging = ""
bat_empty = ""
bat_quarter = ""
bat_half = ""
bat_three_quarters = ""
bat_full = ""
cogs = "龍"
disk_drive = ""
headphones = "  "
memory_mem = ""
net_down = "DOWN"
net_up = "UP"
net_vpn = " "
net_wired = ""
net_wireless = " "
thermometer = "  "
time = ""
volume_empty = ""
volume_full = ""
volume_half = ""
volume_muted= " MUTE"
[[block]]
block = "net"
device = "wg"
hide_inactive = true
hide_missing = true
[[block]]
block = "net"
device = "wlo1"
hide_inactive = true
hide_missing = true
[[block]]
block = "custom"
command = '''echo " $(cat /sys/class/thermal/thermal_zone0/temp | head -c 2) °C"'''
[[block]]
block = "disk_space"
path = "/"
info_type = "available"
unit = "GB"
format = "{icon} {available}"
interval = 20
warning = 20.0
alert = 10.0
[[block]]
block = "memory"
display_type = "memory"
format_mem = "{mem_total_used_percents}"
icons_format = " {icon}"
clickable = false
[[block]]
block = "load"
interval = 1
format = "{1m}"
[[block]]
block = "sound"
driver = "pulseaudio"
[[block]]
block = "backlight"
[[block]]
block = "battery"
device = "BAT0"
interval = 10
format = "{percentage} ({time})"
full_format = "{percentage} ({time}) "
icons_format = " {icon} "
[[block]]
block = "time"
interval = 60
format = "%Y-%m-%d %H:%M"

View file

@ -1,48 +1,22 @@
# colors
set $black #000000
set $red #e75544
set $cyan #3c74f6
set $white #fafafa
set $yellow #908550
set $violet #a73ca6
#set $black2 #323232
set $white2 #f0f0f0
# config # config
set $mod Mod1 set $mod Mod1
set $left h set $left h
set $down j set $down j
set $up k set $up k
set $right l set $right l
#set $term wezterm
set $term alacritty set $term alacritty
set $wallpaper /home/stefan/wall.png set $wallpaper /home/stefan/Downloads/bg.jpg
set $lock swaylock -t -i $wallpaper --scaling=fill set $lock swaylock -t -i $wallpaper --scaling=fill
set $font CaskaydiaCove Nerd Font 10 set $font CaskaydiaCove Nerd Font 10
set $menucolor -H 23 -b \ set $menucolor --ff=#f8f8f2 --nf=#f8f8f2 --tf=#bd93f9 --hf=#bd93f9 --tb=#282a36 --fb=#282a36 --nb=#282a36 --hb=#282a36 --sb=#282a36
--tf=$white --tb=$cyan \ set $menu bemenu-run -H 23 -b -p run $menucolor
--ff=$black --fb=$white \
--cf=$cyan --cb=$white \
--nf=$black --nb=$white \
--af=$black --ab=$white2 \
--hf=$white --hb=$cyan \
--sf=$white --sb=$cyan
set $menu bemenu-run -p run $menucolor
set $otpmenu ykman oath accounts code -s "$(ykman oath accounts list | bemenu -i $menucolor)" | wl-copy
font $font
input "1:1:AT_Translated_Set_2_keyboard" xkb_layout de input "1:1:AT_Translated_Set_2_keyboard" xkb_layout de
input "0:0:TUXEDO_Keyboard" xkb_layout de input "0:0:TUXEDO_Keyboard" xkb_layout de
input 1130:35:HID_046a:0023 xkb_layout de
input "2362:628:PIXA3854:00_093A:0274_Touchpad" click_method clickfinger
input * xkb_options compose:paus
output * bg $wallpaper fill output * bg $wallpaper fill
output "BenQ Corporation BenQ SW2700 83H03922SL0" res --custom 2560x1440@60Hz output "BenQ Corporation BenQ SW2700 83H03922SL0" res --custom 2560x1440@60Hz
output "BenQ Corporation BenQ SW2700 83H03922SL0" pos 1440 720
output "BNQ BenQ PD2705Q W4N00777019" pos 0 0
output "Dell Inc. Dell U4919DW HZVZWP2" res 5120x1440 output "Dell Inc. Dell U4919DW HZVZWP2" res 5120x1440
output eDP-1 scale 1.25
# user keybinds # user keybinds
bindsym $mod+Return exec $term bindsym $mod+Return exec $term
@ -52,14 +26,13 @@ floating_modifier $mod normal
bindsym $mod+Shift+c reload bindsym $mod+Shift+c reload
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -b 'Yes, exit sway' 'swaymsg exit' bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -b 'Yes, exit sway' 'swaymsg exit'
bindsym $mod+o exec keepassxc bindsym $mod+o exec keepassxc
bindsym $mod+Shift+o exec $otpmenu
bindsym $mod+z exec $lock bindsym $mod+z exec $lock
bindsym $mod+Up exec light -A 5 bindsym $mod+Up exec light -A 5
bindsym $mod+Down exec light -U 5 bindsym $mod+Down exec light -U 5
bindsym $mod+c exec alacritty --class float -t pyCalc -e python bindsym $mod+c exec alacritty --class float -t pyCalc -e python
bindsym $mod+i exec alacritty --class float -t numbat -e numbat bindsym $mod+i exec alacritty --class float -t insect -e insect
bindsym $mod+m exec swayr switch-to bindsym $mod+Space exec swayr switch-to
bindsym $mod+n exec emacsclient -cn bindsym $mod+n exec swayr switch-to-urgent-or-lru-window
bindsym Print exec grim -g "$(slurp)" - | wl-copy -t image/png bindsym Print exec grim -g "$(slurp)" - | wl-copy -t image/png
bindswitch --reload --locked lid:on output eDP-1 disable bindswitch --reload --locked lid:on output eDP-1 disable
bindswitch --reload --locked lid:off output eDP-1 enable bindswitch --reload --locked lid:off output eDP-1 enable
@ -69,13 +42,25 @@ for_window [app_id="org.keepassxc.KeePassXC"] floating enable
for_window [title="Firefox — Sharing Indicator"] floating enable for_window [title="Firefox — Sharing Indicator"] floating enable
for_window [title="Picture-in-Picture"] floating enable for_window [title="Picture-in-Picture"] floating enable
for_window [title="pyCalc"] floating enable for_window [title="pyCalc"] floating enable
for_window [title="numbat"] floating enable for_window [title="insect"] floating enable
# font
font $font
# colors
set $black #282a36
set $red #ff6188
set $cyan #78dce8
set $white #fcfcfa
set $yellow #f1fa8c
set $violet #bd93f9
set $black2 #323232
# border backgnd text indicator childborder # border backgnd text indicator childborder
client.focused $cyan $white $black $violet $cyan client.focused $violet $black $white $violet $violet
client.focused_inactive $white2 $white2 $black $white2 $white client.focused_inactive $black $black $white $black2 $black
client.unfocused $white2 $white2 $black $white2 $white client.unfocused $black $black $white $black2 $black
client.urgent $red $red $white $white2 $black client.urgent $red $red $black $black2 $white
# movement # movement
@ -149,38 +134,37 @@ bar {
font $font font $font
position bottom position bottom
colors { colors {
background $white background $black
statusline $black statusline $white
separator $cyan separator $violet
# border back text # border back text
focused_workspace $cyan $cyan $white focused_workspace $violet $violet $black
active_workspace $cyan $cyan $white active_workspace $violet $violet $black
urgent_workspace $red $red $black urgent_workspace $red $red $white
inactive_workspace $white $white $black inactive_workspace $black $black $white
} }
status_command i3status-rs /etc/sway/status.toml status_command i3status-rs /etc/sway/status.toml
} }
set $gnome-schema org.gnome.desktop.interface set $gnome-schema org.gnome.desktop.interface
exec_always { exec_always {
gsettings set $gnome-schema cursor-theme Adwaita gsettings set $gnome-schema gtk-theme 'Dracula'
gsettings set $gnome-schema icon-theme 'capitaine-cursors-white' gsettings set $gnome-schema icon-theme 'Dracula'
gsettings set $gnome-schema cursor-theme 'capitaine-cursors-white' gsettings set $gnome-schema cursor-theme 'Capitaine Cursors - White'
} }
# autostarts # autostarts
exec swaync exec mako --font "$font" \
--background-color=$black \
--border-color=$violet \
--text-color=$white
exec emacs --daemon exec emacs --daemon
exec swayidle before-sleep "$lock" exec swayidle before-sleep "$lock"
exec /run/current-system/sw/libexec/polkit-gnome-authentication-agent-1 exec /run/current-system/sw/libexec/polkit-gnome-authentication-agent-1
exec systemctl --user import-environment DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR exec systemctl --user import-environment DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR
exec dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP
exec bash -c '[ "$HOSTNAME" == sphere ] && cloudstation' exec bash -c '[ "$HOSTNAME" == sphere ] && cloudstation'
exec swayrd exec swayrd
exec xinput set-prop "PIXA3854:00 093A:0274 Touchpad" 365 1
# pastebin # pastebin
exec wl-paste --primary -t text --watch clipman store exec wl-paste --primary -t text --watch clipman store

View file

@ -1,61 +1,64 @@
[theme] [theme]
theme = "plain" name = "plain"
[theme.overrides] [theme.overrides]
idle_bg = "#fafafa" idle_bg = "#282a36"
idle_fg = "#000000" idle_fg = "#f8f8f2"
info_bg = "#fafafa" info_bg = "#282a36"
info_fg = "#000000" info_fg = "#f8f8f2"
good_bg = "#fafafa" good_bg = "#282a36"
good_fg = "#000000" good_fg = "#50fa7b"
warning_bg = "#fafafa" warning_bg = "#282a36"
warning_fg = "#908550" warning_fg = "#f1fa8c"
critical_bg = "#fafafa" critical_bg = "#282a36"
critical_fg = "#e75544" critical_fg = "#ff5555"
separator_bg = "#fafafa" separator_bg = "#282a36"
separator_fg = "#3c74f6" separator_fg = "#bd93f9"
separator = "|" separator = "|"
[icons] [icons]
icons = "none" name = "none"
[icons.overrides] [icons.overrides]
backlight = [ backlight_empty = ""
"󰌶", backlight_full = ""
"󱩏", backlight_partial1 = ""
"󱩒", backlight_partial2 = ""
"󱩕", backlight_partial3 = ""
"󰛨", bat = ""
] bat_charging = ""
bat = [ bat_discharging = ""
"󱃍 ", bat_empty = ""
"󰁻", bat_quarter = ""
"󰁾", bat_half = ""
"󰂁", bat_three_quarters = ""
"󰁹", bat_full = ""
] cogs = "龍"
bat_charging = "" disk_drive = ""
cogs = ""
disk_drive = "󱛟"
headphones = "  " headphones = "  "
memory_mem = "󰍛" memory_mem = ""
net_down = "󰅛" net_down = "DOWN"
net_up = "󰱓" net_up = "UP"
net_vpn = " " net_vpn = " "
net_wired = "" net_wired = ""
net_wireless = " 󰖩" net_wireless = " "
thermometer = " 󰔏 " thermometer = "  "
time = "󰥔" time = ""
volume_muted = "󰖁 MUTE" volume_empty = ""
volume = [ volume_full = ""
"", volume_half = ""
"󰕾", volume_muted= " MUTE"
"",
]
[[block]] [[block]]
block = "net" block = "net"
device = "wlp166s0" device = "wg"
format = " $icon $ip$frequency " hide_inactive = true
hide_missing = true
[[block]]
block = "net"
device = "wlo1"
hide_inactive = true
hide_missing = true
[[block]] [[block]]
block = "custom" block = "custom"
@ -65,19 +68,23 @@ command = '''echo " $(cat /sys/class/thermal/thermal_zone0/temp | head -c 2)
block = "disk_space" block = "disk_space"
path = "/" path = "/"
info_type = "available" info_type = "available"
format = " $icon $available " unit = "GB"
format = "{icon} {available}"
interval = 20 interval = 20
warning = 20.0 warning = 20.0
alert = 10.0 alert = 10.0
[[block]] [[block]]
block = "memory" block = "memory"
format = " $icon $mem_used/$mem_total " display_type = "memory"
format_mem = "{mem_total_used_percents}"
icons_format = " {icon}"
clickable = false
[[block]] [[block]]
block = "load" block = "load"
interval = 1 interval = 1
format = " $icon $1m " format = "{1m}"
[[block]] [[block]]
block = "sound" block = "sound"
@ -88,23 +95,13 @@ block = "backlight"
[[block]] [[block]]
block = "battery" block = "battery"
device = "BAT1" device = "BAT0"
interval = 10 interval = 10
format = " $icon $percentage ($time) " format = "{percentage} ({time})"
full_format = " $icon $percentage " full_format = "{percentage} ({time}) "
icons_format = " {icon} "
[[block]] [[block]]
block = "time" block = "time"
interval = 60 interval = 60
format = " $timestamp.datetime(f:'%Y-%m-%d %H:%M') " format = "%Y-%m-%d %H:%M"
[[block]]
block = "notify"
driver = "swaync"
format = " $icon {($notification_count.eng(w:1)) |}"
[[block.click]]
button = "left"
action = "show"
[[block.click]]
button = "right"
action = "toggle_paused"

View file

@ -1,39 +0,0 @@
local wezterm = require 'wezterm';
return {
audible_bell = "Disabled",
bold_brightens_ansi_colors = true,
color_scheme = "One Light (base16)",
enable_tab_bar = false,
enable_wayland = true,
font_size = 12,
font = wezterm.font("CaskaydiaCove Nerd Font"),
window_background_opacity = 0.97,
window_close_confirmation = 'NeverPrompt',
default_prog = { '/run/current-system/sw/bin/bash' },
keys = {
{
key = 'Escape',
mods = 'CTRL',
action = wezterm.action.QuickSelect,
},
},
window_padding = {
left = 0,
right = 0,
top = 0,
bottom = 0,
},
quick_select_patterns = {
'^([^ ]+) +(?:ClusterIP|Bound)',
'^([^ ]+) +(?:[0-9]+/[0-9]+)',
'^([^ ]+) +(?:[0-9]+ )',
'^([^ ]+) +(?:Opaque|kubernetes\\.io|helm\\.sh)',
'^([^ ]+) +(?:Active)',
'[^ ]+@[^ ]+.service',
'git push.*',
},
}

View file

@ -1,83 +0,0 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
let
#nixkernel = import <nixos-kernel> {};
in
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "uas" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" "i915" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "workpool/nixos/root";
fsType = "zfs";
};
fileSystems."/home" =
{ device = "workpool/nixos/home";
fsType = "zfs";
};
fileSystems."/var/lib/docker" =
{ device = "workpool/nixos/docker";
fsType = "zfs";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/AA17-42AD";
fsType = "vfat";
};
swapDevices =
[ { device = "/dev/disk/by-uuid/18ae41eb-e32e-46a3-9e22-3395c37782df"; }
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp166s0.useDHCP = lib.mkDefault true;
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
# custom
boot.loader.systemd-boot.enable = true;
networking.hostId = "f0000001";
networking.hostName = "sphere";
services.tlp.enable = true;
services.hardware.bolt.enable = true;
# framework hardware
#boot.kernelPackages = nixkernel.linuxPackages_5_19;
#boot.kernelPackages = pkgs.linuxPackages_latest;
boot.kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages;
boot.kernelParams = [
"nvme.noacpi=1"
"i915.enable_psr=1"
];
boot.blacklistedKernelModules = [ "hid-sensor-hub" ];
hardware.acpilight.enable = true;
services.xserver.dpi = 125;
environment.variables = {
VDPAU_DRIVER = lib.mkIf config.hardware.opengl.enable (lib.mkDefault "va_gl");
};
hardware.graphics.extraPackages = with pkgs; [
vaapiIntel
libvdpau-va-gl
intel-media-driver
];
services.tlp.settings = {
CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
CPU_ENERGY_PERF_POLICY_ON_BAT = "performance";
};
}

27
packages/helm2.nix Normal file
View file

@ -0,0 +1,27 @@
with import <nixpkgs> { };
stdenv.mkDerivation rec {
name = "helm2";
version = "2.14.3";
src = fetchurl {
url = "https://get.helm.sh/helm-v${version}-linux-amd64.tar.gz";
sha256 = "38614a665859c0f01c9c1d84fa9a5027364f936814d1e47839b05327e400bf55";
};
nativeBuildInputs = [ autoPatchelfHook ];
unpackPhase = ''
tar xvpzf $src
'';
installPhase = ''
install -m 755 -D linux-amd64/helm $out/bin/helm2
'';
meta = with lib; {
homepage = "https://helm.sh";
description = "helms depricated v2 verison";
platforms = platforms.linux;
maintainers = with maintainers; [ foosinn ];
};
}

View file

@ -1,40 +1,37 @@
{ lib, fetchFromGitHub, python311Packages, wrapQtAppsHook, pkgs }: { lib, fetchFromGitHub, python39Packages, wrapQtAppsHook }:
let let
pname = "nagstamon"; pname = "nagstamon";
version = "v3.12.0"; version = "v3.8.0";
in python39Packages.buildPythonApplication rec {
in python311Packages.buildPythonApplication rec {
inherit pname; inherit pname;
inherit version; inherit version;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "HenriWahl"; owner = "HenriWahl";
repo = "Nagstamon"; repo = "Nagstamon";
rev = version; rev = "${version}";
sha256 = "sha256-SI0FPTqJquaVyl/gpp883eGLq7tZ6J0fqn0jp77M8GM="; sha256 = "0a8aqw44z58pabsgxlvndnmzzvc50wrb4g12yp6zgajn40b2l8pw";
}; };
doCheck = false; doCheck = false;
nativeBuildInputs = [ wrapQtAppsHook ]; nativeBuildInputs = [ wrapQtAppsHook ];
postFixup = '' postFixup = ''
makeQtWrapper $out/bin/nagstamon.py $out/bin/nagstamon wrapQtApp $out/bin/nagstamon.py
''; '';
propagatedBuildInputs = [ propagatedBuildInputs = with python39Packages; [
python311Packages.beautifulsoup4 beautifulsoup4
python311Packages.configparser configparser
python311Packages.dateutil dateutil
python311Packages.keyring keyring
python311Packages.lxml lxml
python311Packages.psutil psutil
python311Packages.pyqt5_with_qtmultimedia pyqt5_with_qtmultimedia
python311Packages.requests requests
python311Packages.requests-kerberos setuptools
python311Packages.setuptools xlib
python311Packages.xlib
pkgs.libsForQt5.qt5.qtwayland
]; ];
meta = with lib; { meta = with lib; {
@ -45,3 +42,4 @@ in python311Packages.buildPythonApplication rec {
inherit version; inherit version;
}; };
} }

View file

@ -98,7 +98,7 @@ neovim.override {
noremap <leader>ml :fzf_lsp_layout<cr> noremap <leader>ml :fzf_lsp_layout<cr>
let g:which_key_map.g = { 'name': '+git' } let g:which_key_map.g = { 'name': '+git' }
noremap <leader>gs :call LazyGit<cr> noremap <leader>gs :!lazygit
" lang specifics " lang specifics
let g:rustfmt_autosave = 1 let g:rustfmt_autosave = 1
@ -110,11 +110,10 @@ neovim.override {
airline airline
easymotion easymotion
editorconfig-vim editorconfig-vim
fzf-lsp-nvim
fzf-vim
fzfWrapper fzfWrapper
fzf-vim
fzf-lsp-nvim
LanguageClient-neovim LanguageClient-neovim
lazygit-nvim
ncm2 ncm2
nnn-vim nnn-vim
surround surround

View file

@ -1,6 +1,6 @@
{ pkgs, options, ... }: { pkgs, options, ... }:
let let unstable = import <nixos-unstable> { };
in { in {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
cryptsetup cryptsetup
@ -9,22 +9,16 @@ in {
k9s k9s
kind kind
kubectl kubectl
kubectx
kubeseal kubeseal
nmap
pwgen pwgen
terraform terraform
terraform-docs
whois whois
ipcalc
argocd unstable.argocd
kubernetes-helm unstable.kubernetes-helm
kustomize unstable.kustomize
pre-commit unstable.terraform-ls
terraform-ls unstable.vault
vault
yaml-language-server
docker-compose docker-compose
fuse-overlayfs fuse-overlayfs
@ -32,23 +26,13 @@ in {
virt-manager virt-manager
(import ../packages/skaffold.nix) (import ../packages/skaffold.nix)
(import ../packages/helm2.nix)
(import ../packages/certmanager.nix) (import ../packages/certmanager.nix)
]; ];
programs.bash.shellAliases = {
kx = "kubectx";
kns = "kubens";
};
virtualisation.docker = { virtualisation.docker = {
enable = true; enable = true;
storageDriver = "zfs"; storageDriver = "zfs";
}; };
virtualisation.libvirtd = { virtualisation.libvirtd.enable = true;
enable = true;
qemu = {
swtpm.enable = true;
ovmf.enable = true;
};
};
} }

View file

@ -49,7 +49,6 @@ in {
EDITOR = "nvim"; EDITOR = "nvim";
STARSHIP_CONFIG = "/etc/starship.toml"; STARSHIP_CONFIG = "/etc/starship.toml";
HISTCONTROL = "ignoreboth"; HISTCONTROL = "ignoreboth";
NIXOS_OZONE_WL = "y";
}; };
}; };
@ -90,8 +89,6 @@ in {
alias ls="ls --color=auto" alias ls="ls --color=auto"
alias vim="nvim" alias vim="nvim"
alias k="kubectl" alias k="kubectl"
alias n="nix-shell -p"
alias nu="nix-shell -I nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos-unstable -p"
sink() { sink() {
VAULT_TOKEN=$(vault token lookup -format=json | jq -r .data.id) \ VAULT_TOKEN=$(vault token lookup -format=json | jq -r .data.id) \
@ -141,12 +138,7 @@ in {
services.fwupd.enable = true; services.fwupd.enable = true;
services.resolved.enable = true; services.resolved.enable = true;
services.lorri.enable = true; services.lorri.enable = true;
systemd.user.services.lorri.serviceConfig = {
ProtectSystem = pkgs.lib.mkForce "full";
ProtectHome = pkgs.lib.mkForce false;
};
security.wrappers.gvfsd-nfs = { security.wrappers.gvfsd-nfs = {
source = "${pkgs.gnome.gvfs}/libexec/gvfsd-nfs"; source = "${pkgs.gnome.gvfs}/libexec/gvfsd-nfs";
@ -182,4 +174,5 @@ in {
LC_IDENTIFICATION = "de_DE.UTF-8"; LC_IDENTIFICATION = "de_DE.UTF-8";
}; };
}; };
} }

View file

@ -1,4 +1,4 @@
#g Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
@ -7,12 +7,43 @@ let
colors = config.colors; colors = config.colors;
schema = pkgs.gsettings-desktop-schemas; schema = pkgs.gsettings-desktop-schemas;
datadir = "${schema}/share/gsettings-schemas/${schema.name}"; datadir = "${schema}/share/gsettings-schemas/${schema.name}";
unstable = import <nixos-unstable> { config.allowUnfree = true; };
in in
{ {
programs.droidcam.enable = true;
services.autorandr.enable = true;
services.xserver = {
enable = true;
dpi = 96;
displayManager = {
sddm.enable = true;
defaultSession = "none+i3";
};
libinput = {
enable = true;
};
windowManager.i3 = {
enable = true;
extraPackages = with pkgs; [
autorandr
dmenu
dunst
feh
i3lock
i3status-rust
maim
xclip
];
};
};
programs.dconf.enable = true;
programs.sway = { programs.sway = {
enable = true; enable = true;
wrapperFeatures.gtk = true;
extraPackages = with pkgs; [ extraPackages = with pkgs; [
bemenu bemenu
brightnessctl brightnessctl
@ -25,15 +56,19 @@ in
slurp slurp
swayidle swayidle
swaylock swaylock
swaynotificationcenter
swayr swayr
wf-recorder wf-recorder
wofi wofi
xwayland
]; ];
extraSessionCommands = ""; extraSessionCommands = "";
}; };
xdg.portal.enable = true;
xdg.portal = {
enable = true;
gtkUsePortal = true;
extraPortals = with pkgs; [ xdg-desktop-portal-gtk xdg-desktop-portal-wlr ];
};
boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ]; boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
colors = { colors = {
@ -51,6 +86,7 @@ in
environment = { environment = {
etc = { etc = {
"i3/config".source = ../dotfiles/i3/config;
"sway/config".source = ../dotfiles/sway/config; "sway/config".source = ../dotfiles/sway/config;
"sway/status.toml".source = ../dotfiles/sway/status.toml; "sway/status.toml".source = ../dotfiles/sway/status.toml;
"xdg/alacritty/alacritty.yml".text = '' "xdg/alacritty/alacritty.yml".text = ''
@ -86,19 +122,23 @@ in
key_bindings: key_bindings:
- { key: Escape, mods: Control, action: ToggleViMode } - { key: Escape, mods: Control, action: ToggleViMode }
''; '';
"wezterm.lua".source = ../dotfiles/wezterm.lua;
}; };
}; };
qt.platformTheme = "qt5ct"; programs.qt5ct.enable = true;
hardware.pulseaudio.enable = false; hardware.pulseaudio.enable = false;
security.rtkit.enable = true; security.rtkit.enable = true;
security.polkit.enable = true;
services.pipewire = { services.pipewire = {
enable = true; enable = true;
alsa.enable = true; alsa.enable = true;
pulse.enable = true; pulse.enable = true;
jack.enable = true; jack.enable = true;
config.pipewire = {
"context.properties" = { "default.clock.rate" = 48000; };
};
}; };
services.udev.packages = [ services.udev.packages = [
(pkgs.writeTextFile { (pkgs.writeTextFile {
@ -109,11 +149,10 @@ in
destination = "/etc/udev/rules.d/80-uinput.rules"; destination = "/etc/udev/rules.d/80-uinput.rules";
}) })
]; ];
services.ratbagd.enable = true;
fonts.enableDefaultPackages = true; fonts.enableDefaultFonts = true;
fonts.fontconfig.antialias = true; fonts.fontconfig.antialias = true;
fonts.packages = with pkgs; [ fonts.fonts = with pkgs; [
corefonts corefonts
emacs-all-the-icons-fonts emacs-all-the-icons-fonts
fira-code fira-code
@ -155,10 +194,8 @@ in
libsForQt5.qtstyleplugins libsForQt5.qtstyleplugins
lxappearance lxappearance
numix-icon-theme numix-icon-theme
numix-cursor-theme
alacritty alacritty
gimp
imv imv
inkscape inkscape
keepassxc keepassxc
@ -167,13 +204,11 @@ in
mpv mpv
mumble mumble
neofetch neofetch
numbat nodePackages.insect
pavucontrol pavucontrol
pcmanfm pcmanfm
pulseeffects-pw
qrencode qrencode
remmina
uxplay
wezterm
solaar solaar
gdk-pixbuf gdk-pixbuf
@ -181,7 +216,7 @@ in
clipman clipman
wdisplays wdisplays
wl-clipboard wl-clipboard
xdg-utils xdg_utils
xfce.thunar xfce.thunar
xfce.thunar-volman xfce.thunar-volman
wtype wtype
@ -202,7 +237,6 @@ in
export QT_QPA_PLATFORM=wayland-egl export QT_QPA_PLATFORM=wayland-egl
export QT_WAYLAND_FORCE_DPI=96 export QT_WAYLAND_FORCE_DPI=96
export SDL_VIDEODRIVER=wayland export SDL_VIDEODRIVER=wayland
export WEZTERM_CONFIG_FILE=/etc/wezterm.lua
export XDG_CURRENT_DESKTOP=sway export XDG_CURRENT_DESKTOP=sway
export XDG_DATA_DIRS=${datadir}:$XDG_DATA_DIRS export XDG_DATA_DIRS=${datadir}:$XDG_DATA_DIRS
export XDG_SESSION_TYPE=wayland export XDG_SESSION_TYPE=wayland
@ -225,14 +259,8 @@ in
services.printing.enable = true; services.printing.enable = true;
services.printing.drivers = [ pkgs.gutenprint ]; services.printing.drivers = [ pkgs.gutenprint ];
services.avahi = { services.avahi.enable = true;
enable = true; services.avahi.nssmdns = true;
nssmdns4 = true;
publish = { hardware.opengl = { enable = true; };
enable = true;
addresses = true;
workstation = true;
userServices = true;
};
};
} }

View file

@ -1,42 +1,40 @@
{ config, lib, buildPythonPackage, pkgs, fetchPypi,... }: { config, lib, pkgs, ... }:
let let unstable = import <nixos-unstable> { };
unstable = import <nixos-unstable> { };
in { in {
services.emacs.package = pkgs.emacs-pgtk;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
gnumake gnumake
go go_1_17
phpactor
rustup rustup
shellcheck shellcheck
unstable.golangci-lint unstable.golangci-lint
unstable.gopls unstable.gopls
unstable.rust-analyzer
#unstable.esphome
(python311.withPackages unstable.nodePackages.pyright
(python39.withPackages
(python-packages: with python-packages; [ (python-packages: with python-packages; [
black black
diagrams diagrams
pymemcache pymemcache
pyyaml pyyaml
requests requests
ruff-lsp ]))
])
)
mariadb-client mariadb-client
musl musl
dbeaver-bin dbeaver
emacs-pgtk emacs
gitAndTools.delta gitAndTools.delta
lazygit lazygit
ltrace ltrace
parallel parallel
sops sops
tig tig
unstable.bazel
openssl openssl
pkg-config pkg-config

View file

@ -1,6 +1,7 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let let
unstable = import <nixos-unstable> { config.allowUnfree = true; };
notcoal = pkgs.callPackage ../packages/notcoal { }; notcoal = pkgs.callPackage ../packages/notcoal { };
in { in {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
@ -10,7 +11,7 @@ in {
notmuch notmuch
notcoal notcoal
thunderbird thunderbird
astroid unstable.astroid
vdirsyncer vdirsyncer
]; ];
} }

View file

@ -1,6 +1,6 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let let unstable = import <nixos-unstable> { config.allowUnfree = true; };
in { in {
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
@ -9,6 +9,5 @@ in {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
networkmanagerapplet networkmanagerapplet
networkmanager-vpnc networkmanager-vpnc
openconnect_openssl
]; ];
} }

View file

@ -1,6 +1,7 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let let
unstable = import <nixos-unstable> { };
openscad-ls = pkgs.callPackage ../packages/openscad-language-server.nix { }; openscad-ls = pkgs.callPackage ../packages/openscad-language-server.nix { };
in in
{ {

View file

@ -3,29 +3,10 @@
let let
unstable = import <nixos-unstable> { config.allowUnfree = true; }; unstable = import <nixos-unstable> { config.allowUnfree = true; };
cloudstation = pkgs.callPackage (import ../packages/cloudstation.nix) { }; cloudstation = pkgs.callPackage (import ../packages/cloudstation.nix) { };
nagstamon = pkgs.libsForQt5.callPackage (import ../packages/nagstamon.nix) { }; nagstamon =
myslack = pkgs.slack.overrideAttrs (oldAttrs: rec { pkgs.libsForQt5.callPackage (import ../packages/nagstamon.nix) { };
fixupPhase = ''
sed -i -e 's/,"WebRTCPipeWireCapturer"/,"LebRTCPipeWireCapturer"/' $out/lib/slack/resources/app.asar
rm $out/bin/slack
makeWrapper $out/lib/slack/slack $out/bin/slack \
--prefix XDG_DATA_DIRS : $GSETTINGS_SCHEMAS_PATH \
--suffix PATH : ${lib.makeBinPath [ pkgs.xdg-utils ]} \
--add-flags "--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations,WebRTCPipeWireCapturer"
'';
});
in { in {
environment.variables = {
USE_GKE_GCLOUD_AUTH_PLUGIN = "True";
};
services.tailscale = {
enable = true;
package = unstable.tailscale;
};
security.pki.certificateFiles = [ security.pki.certificateFiles = [
../dotfiles/certs/NetzmarktCA.crt ../dotfiles/certs/NetzmarktCA.crt
../dotfiles/certs/vcenter.netzmarkt.lan.crt ../dotfiles/certs/vcenter.netzmarkt.lan.crt
@ -40,14 +21,8 @@ in {
172.20.0.2 grafana.kind 172.20.0.2 grafana.kind
172.20.0.2 alert.kind 172.20.0.2 alert.kind
#192.168.2.111 hass.home.f2o.io
#192.168.2.111 sync.home.f2o.io
192.168.2.111 pl.home.f2o.io
#127.0.0.1 auth-dev.thobits.com #127.0.0.1 auth-dev.thobits.com
127.0.0.1 database 127.0.0.1 database
127.0.0.1 youtube.com
127.0.0.1 www.youtube.com
''; '';
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
@ -57,30 +32,17 @@ in {
# (import ../packages/vaultsink.nix) needs opensource verson # (import ../packages/vaultsink.nix) needs opensource verson
cloudstation cloudstation
nagstamon nagstamon
yubikey-manager
anydesk
chromium
nodejs
vscodium
git-lfs
drone-cli drone-cli
go-jira
govc govc
ttyd ttyd
discord unstable.discord
(google-cloud-sdk.withExtraComponents [ unstable.google-cloud-sdk
google-cloud-sdk.components.gke-gcloud-auth-plugin unstable.slack
]) unstable.velero
myslack
velero
obs-studio unstable.obs-studio
obs-studio-plugins.wlrobs unstable.obs-studio-plugins.wlrobs
prusa-slicer
]; ];
# yubikey support
services.udev.packages = [ pkgs.yubikey-personalization ];
services.pcscd.enable = true;
} }