Compare commits

...
Sign in to create a new pull request.

31 commits
x ... main

Author SHA1 Message Date
Stefan Schwarz
b104bba6f2 up 2025-05-06 12:46:51 +02:00
Stefan Schwarz
aaf916de75 fix 2025-01-20 09:03:31 +01:00
Stefan Schwarz
359b7cf8d0 up 2024-11-15 11:05:08 +01:00
Stefan Schwarz
599d34d9cb updates 2024-10-08 13:06:54 +02:00
Stefan Schwarz
2a39913fde feat: remove unused helm2 2024-04-22 08:40:54 +02:00
Stefan Schwarz
3e522cebfd up 2024-03-15 11:16:02 +01:00
Stefan Schwarz
44ed4f7a5c fix lorri confi 2024-03-15 11:15:51 +01:00
Stefan Schwarz
5446d3aace libvirt uefi
still not working
2024-03-15 11:15:40 +01:00
Stefan Schwarz
6a911794f1 switch notify daemon 2024-03-15 11:15:14 +01:00
Stefan Schwarz
4eb2a0dd1b fix(nagstamon): working on wayland 2024-01-03 16:48:00 +01:00
Stefan Schwarz
d492658ecc fix(slack): enable screenshare 2024-01-03 16:20:44 +01:00
Stefan Schwarz
ddf25a45b0 fix nixos 23.11 2024-01-03 16:20:36 +01:00
Stefan Schwarz
49ae5f3981 work 2024-01-03 15:26:33 +01:00
Stefan Schwarz
698e0b6ec2 feat(kubectx): test kubectl 2023-03-24 08:46:34 +01:00
Stefan Schwarz
2622bdb144 feat(yubikey): add support 2023-03-24 08:44:56 +01:00
Stefan Schwarz
210bc59571 feat(wezterm): add wezterm 2023-03-24 08:44:33 +01:00
Stefan Schwarz
a4bff2a186 feat(sway): lightmode 2023-03-24 08:44:05 +01:00
Stefan Schwarz
18902b41c3 chore: remove x 2023-03-03 10:38:23 +01:00
Stefan Schwarz
c426807bce fix(configuration): allow broken kerberos package 2023-03-03 10:35:53 +01:00
Stefan Schwarz
2660ebc7af feat(desktop): desktop changes 2023-03-03 10:35:35 +01:00
Stefan Schwarz
58a0d3f1d8 feat(admin): add nmap and ipcalc 2023-03-03 10:35:21 +01:00
Stefan Schwarz
e361a43b48 feat(golang): update to 1.19 2023-03-03 10:34:48 +01:00
Stefan Schwarz
f8690d90e6 feat(network): add openconnect vpn support 2023-03-03 10:34:23 +01:00
Stefan Schwarz
959c3c0fe9 feat(work): add google cloud sdk plugins 2023-03-03 10:34:11 +01:00
Stefan Schwarz
f40031327f fix(nagstamon): fix package and update to 3.10 2023-03-03 10:33:39 +01:00
Stefan Schwarz
b528bbd88f feat(hardware): framework 2023-03-03 10:33:29 +01:00
Stefan Schwarz
0d4265f5f1 feat(alacritty): smaller fontsize 2023-03-03 10:33:20 +01:00
Stefan Schwarz
5f1cd851b9 fix(status): use correct battery number for framework 2023-03-03 10:33:08 +01:00
Stefan Schwarz
458ce0ccf6 fix(sway): remove cursor theme resetting (breaks it) 2023-03-03 10:32:53 +01:00
Stefan Schwarz
ed4af6d356 fix(sway): keybindings 2023-02-20 10:55:34 +01:00
Stefan Schwarz
b4a40fa36d feat(wallpaper): fix wallpaper 2023-02-20 10:55:17 +01:00
19 changed files with 413 additions and 522 deletions

View file

@ -30,9 +30,13 @@
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 = [ "openssl-1.0.2u" ]; nixpkgs.config.permittedInsecurePackages = [
"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,24 +1,34 @@
font: font:
normal: normal:
family: CaskaydiaCove Nerd Font family: CaskaydiaCove Nerd Font
size: 12 size: 8
draw_bold_text_with_bright_colors: true draw_bold_text_with_bright_colors: true
colors: colors:
primary: primary:
background: "0x19181A" background: '0xf8f8f8'
foreground: "0xFCFCFA" foreground: '0x2a2b33'
normal: normal:
black: "0x19181A" black: '0x000000'
red: "0xcc6666" red: '0xde3d35'
green: "0xa9dc76" green: '0x3e953a'
yellow: "0xffd866" yellow: '0xd2b67b'
cyan: "0x78dce8" blue: '0x2f5af3'
magenta: "0xFC9867" magenta: '0xa00095'
blue: "0xAB9DF2" cyan: '0x3e953a'
white: "0xFCFCFA" white: '0xbbbbbb'
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

View file

@ -1,167 +0,0 @@
# 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'

View file

@ -1,107 +0,0 @@
[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,22 +1,48 @@
# 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/Downloads/bg.jpg set $wallpaper /home/stefan/wall.png
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 --ff=#f8f8f2 --nf=#f8f8f2 --tf=#bd93f9 --hf=#bd93f9 --tb=#282a36 --fb=#282a36 --nb=#282a36 --hb=#282a36 --sb=#282a36 set $menucolor -H 23 -b \
set $menu bemenu-run -H 23 -b -p run $menucolor --tf=$white --tb=$cyan \
--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
@ -26,13 +52,14 @@ 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 insect -e insect bindsym $mod+i exec alacritty --class float -t numbat -e numbat
bindsym $mod+Space exec swayr switch-to bindsym $mod+m exec swayr switch-to
bindsym $mod+n exec swayr switch-to-urgent-or-lru-window bindsym $mod+n exec emacsclient -cn
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
@ -42,25 +69,13 @@ 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="insect"] floating enable for_window [title="numbat"] 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 $violet $black $white $violet $violet client.focused $cyan $white $black $violet $cyan
client.focused_inactive $black $black $white $black2 $black client.focused_inactive $white2 $white2 $black $white2 $white
client.unfocused $black $black $white $black2 $black client.unfocused $white2 $white2 $black $white2 $white
client.urgent $red $red $black $black2 $white client.urgent $red $red $white $white2 $black
# movement # movement
@ -134,37 +149,38 @@ bar {
font $font font $font
position bottom position bottom
colors { colors {
background $black background $white
statusline $white statusline $black
separator $violet separator $cyan
# border back text # border back text
focused_workspace $violet $violet $black focused_workspace $cyan $cyan $white
active_workspace $violet $violet $black active_workspace $cyan $cyan $white
urgent_workspace $red $red $white urgent_workspace $red $red $black
inactive_workspace $black $black $white inactive_workspace $white $white $black
} }
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 gtk-theme 'Dracula' gsettings set $gnome-schema cursor-theme Adwaita
gsettings set $gnome-schema icon-theme 'Dracula' gsettings set $gnome-schema icon-theme 'capitaine-cursors-white'
gsettings set $gnome-schema cursor-theme 'Capitaine Cursors - White' gsettings set $gnome-schema cursor-theme 'capitaine-cursors-white'
} }
# autostarts # autostarts
exec mako --font "$font" \ exec swaync
--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,64 +1,61 @@
[theme] [theme]
name = "plain" theme = "plain"
[theme.overrides] [theme.overrides]
idle_bg = "#282a36" idle_bg = "#fafafa"
idle_fg = "#f8f8f2" idle_fg = "#000000"
info_bg = "#282a36" info_bg = "#fafafa"
info_fg = "#f8f8f2" info_fg = "#000000"
good_bg = "#282a36" good_bg = "#fafafa"
good_fg = "#50fa7b" good_fg = "#000000"
warning_bg = "#282a36" warning_bg = "#fafafa"
warning_fg = "#f1fa8c" warning_fg = "#908550"
critical_bg = "#282a36" critical_bg = "#fafafa"
critical_fg = "#ff5555" critical_fg = "#e75544"
separator_bg = "#282a36" separator_bg = "#fafafa"
separator_fg = "#bd93f9" separator_fg = "#3c74f6"
separator = "|" separator = "|"
[icons] [icons]
name = "none" icons = "none"
[icons.overrides] [icons.overrides]
backlight_empty = "" backlight = [
backlight_full = "" "󰌶",
backlight_partial1 = "" "󱩏",
backlight_partial2 = "" "󱩒",
backlight_partial3 = "" "󱩕",
bat = "" "󰛨",
bat_charging = "" ]
bat_discharging = "" bat = [
bat_empty = "" "󱃍 ",
bat_quarter = "" "󰁻",
bat_half = "" "󰁾",
bat_three_quarters = "" "󰂁",
bat_full = "" "󰁹",
cogs = "龍" ]
disk_drive = "" bat_charging = ""
cogs = ""
disk_drive = "󱛟"
headphones = "  " headphones = "  "
memory_mem = "" memory_mem = "󰍛"
net_down = "DOWN" net_down = "󰅛"
net_up = "UP" net_up = "󰱓"
net_vpn = " " net_vpn = " "
net_wired = "" net_wired = ""
net_wireless = " " net_wireless = " 󰖩"
thermometer = "  " thermometer = " 󰔏 "
time = "" time = "󰥔"
volume_empty = "" volume_muted = "󰖁 MUTE"
volume_full = "" volume = [
volume_half = "" "",
volume_muted= " MUTE" "󰕾",
"",
]
[[block]] [[block]]
block = "net" block = "net"
device = "wg" device = "wlp166s0"
hide_inactive = true format = " $icon $ip$frequency "
hide_missing = true
[[block]]
block = "net"
device = "wlo1"
hide_inactive = true
hide_missing = true
[[block]] [[block]]
block = "custom" block = "custom"
@ -68,23 +65,19 @@ 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"
unit = "GB" format = " $icon $available "
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"
display_type = "memory" format = " $icon $mem_used/$mem_total "
format_mem = "{mem_total_used_percents}"
icons_format = " {icon}"
clickable = false
[[block]] [[block]]
block = "load" block = "load"
interval = 1 interval = 1
format = "{1m}" format = " $icon $1m "
[[block]] [[block]]
block = "sound" block = "sound"
@ -95,13 +88,23 @@ block = "backlight"
[[block]] [[block]]
block = "battery" block = "battery"
device = "BAT0" device = "BAT1"
interval = 10 interval = 10
format = "{percentage} ({time})" format = " $icon $percentage ($time) "
full_format = "{percentage} ({time}) " full_format = " $icon $percentage "
icons_format = " {icon} "
[[block]] [[block]]
block = "time" block = "time"
interval = 60 interval = 60
format = "%Y-%m-%d %H:%M" format = " $timestamp.datetime(f:'%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"

39
dotfiles/wezterm.lua Normal file
View file

@ -0,0 +1,39 @@
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.*',
},
}

83
hardware/framework.nix Normal file
View file

@ -0,0 +1,83 @@
# 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";
};
}

View file

@ -1,27 +0,0 @@
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,37 +1,40 @@
{ lib, fetchFromGitHub, python39Packages, wrapQtAppsHook }: { lib, fetchFromGitHub, python311Packages, wrapQtAppsHook, pkgs }:
let let
pname = "nagstamon"; pname = "nagstamon";
version = "v3.8.0"; version = "v3.12.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 = "0a8aqw44z58pabsgxlvndnmzzvc50wrb4g12yp6zgajn40b2l8pw"; sha256 = "sha256-SI0FPTqJquaVyl/gpp883eGLq7tZ6J0fqn0jp77M8GM=";
}; };
doCheck = false; doCheck = false;
nativeBuildInputs = [ wrapQtAppsHook ]; nativeBuildInputs = [ wrapQtAppsHook ];
postFixup = '' postFixup = ''
wrapQtApp $out/bin/nagstamon.py makeQtWrapper $out/bin/nagstamon.py $out/bin/nagstamon
''; '';
propagatedBuildInputs = with python39Packages; [ propagatedBuildInputs = [
beautifulsoup4 python311Packages.beautifulsoup4
configparser python311Packages.configparser
dateutil python311Packages.dateutil
keyring python311Packages.keyring
lxml python311Packages.lxml
psutil python311Packages.psutil
pyqt5_with_qtmultimedia python311Packages.pyqt5_with_qtmultimedia
requests python311Packages.requests
setuptools python311Packages.requests-kerberos
xlib python311Packages.setuptools
python311Packages.xlib
pkgs.libsForQt5.qt5.qtwayland
]; ];
meta = with lib; { meta = with lib; {
@ -42,4 +45,3 @@ in python39Packages.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 :!lazygit noremap <leader>gs :call LazyGit<cr>
" lang specifics " lang specifics
let g:rustfmt_autosave = 1 let g:rustfmt_autosave = 1
@ -110,10 +110,11 @@ neovim.override {
airline airline
easymotion easymotion
editorconfig-vim editorconfig-vim
fzfWrapper
fzf-vim
fzf-lsp-nvim fzf-lsp-nvim
fzf-vim
fzfWrapper
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 unstable = import <nixos-unstable> { }; let
in { in {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
cryptsetup cryptsetup
@ -9,16 +9,22 @@ in {
k9s k9s
kind kind
kubectl kubectl
kubectx
kubeseal kubeseal
nmap
pwgen pwgen
terraform terraform
terraform-docs
whois whois
ipcalc
unstable.argocd argocd
unstable.kubernetes-helm kubernetes-helm
unstable.kustomize kustomize
unstable.terraform-ls pre-commit
unstable.vault terraform-ls
vault
yaml-language-server
docker-compose docker-compose
fuse-overlayfs fuse-overlayfs
@ -26,13 +32,23 @@ 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.enable = true; virtualisation.libvirtd = {
enable = true;
qemu = {
swtpm.enable = true;
ovmf.enable = true;
};
};
} }

View file

@ -49,6 +49,7 @@ in {
EDITOR = "nvim"; EDITOR = "nvim";
STARSHIP_CONFIG = "/etc/starship.toml"; STARSHIP_CONFIG = "/etc/starship.toml";
HISTCONTROL = "ignoreboth"; HISTCONTROL = "ignoreboth";
NIXOS_OZONE_WL = "y";
}; };
}; };
@ -89,6 +90,8 @@ 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) \
@ -138,7 +141,12 @@ 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";
@ -174,5 +182,4 @@ in {
LC_IDENTIFICATION = "de_DE.UTF-8"; LC_IDENTIFICATION = "de_DE.UTF-8";
}; };
}; };
} }

View file

@ -1,4 +1,4 @@
# Do not modify this file! It was generated by nixos-generate-config #g 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,43 +7,12 @@ 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
@ -56,19 +25,15 @@ 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 = {
@ -86,7 +51,6 @@ 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 = ''
@ -122,23 +86,19 @@ in
key_bindings: key_bindings:
- { key: Escape, mods: Control, action: ToggleViMode } - { key: Escape, mods: Control, action: ToggleViMode }
''; '';
"wezterm.lua".source = ../dotfiles/wezterm.lua;
}; };
}; };
programs.qt5ct.enable = true; qt.platformTheme = "qt5ct";
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 {
@ -149,10 +109,11 @@ in
destination = "/etc/udev/rules.d/80-uinput.rules"; destination = "/etc/udev/rules.d/80-uinput.rules";
}) })
]; ];
services.ratbagd.enable = true;
fonts.enableDefaultFonts = true; fonts.enableDefaultPackages = true;
fonts.fontconfig.antialias = true; fonts.fontconfig.antialias = true;
fonts.fonts = with pkgs; [ fonts.packages = with pkgs; [
corefonts corefonts
emacs-all-the-icons-fonts emacs-all-the-icons-fonts
fira-code fira-code
@ -194,8 +155,10 @@ 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
@ -204,11 +167,13 @@ in
mpv mpv
mumble mumble
neofetch neofetch
nodePackages.insect numbat
pavucontrol pavucontrol
pcmanfm pcmanfm
pulseeffects-pw
qrencode qrencode
remmina
uxplay
wezterm
solaar solaar
gdk-pixbuf gdk-pixbuf
@ -216,7 +181,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
@ -237,6 +202,7 @@ 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
@ -259,8 +225,14 @@ in
services.printing.enable = true; services.printing.enable = true;
services.printing.drivers = [ pkgs.gutenprint ]; services.printing.drivers = [ pkgs.gutenprint ];
services.avahi.enable = true; services.avahi = {
services.avahi.nssmdns = true; enable = true;
nssmdns4 = true;
hardware.opengl = { enable = true; }; publish = {
enable = true;
addresses = true;
workstation = true;
userServices = true;
};
};
} }

View file

@ -1,40 +1,42 @@
{ config, lib, pkgs, ... }: { config, lib, buildPythonPackage, pkgs, fetchPypi,... }:
let unstable = import <nixos-unstable> { }; let
unstable = import <nixos-unstable> { };
in { in {
services.emacs.package = pkgs.emacs-pgtk;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
gnumake gnumake
go_1_17 go
phpactor
rustup rustup
shellcheck shellcheck
unstable.golangci-lint unstable.golangci-lint
unstable.gopls unstable.gopls
unstable.rust-analyzer
#unstable.esphome
unstable.nodePackages.pyright (python311.withPackages
(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 dbeaver-bin
emacs emacs-pgtk
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,7 +1,6 @@
{ 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; [
@ -11,7 +10,7 @@ in {
notmuch notmuch
notcoal notcoal
thunderbird thunderbird
unstable.astroid astroid
vdirsyncer vdirsyncer
]; ];
} }

View file

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

View file

@ -1,7 +1,6 @@
{ 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,10 +3,29 @@
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 = nagstamon = pkgs.libsForQt5.callPackage (import ../packages/nagstamon.nix) { };
pkgs.libsForQt5.callPackage (import ../packages/nagstamon.nix) { }; myslack = pkgs.slack.overrideAttrs (oldAttrs: rec {
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
@ -21,8 +40,14 @@ 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; [
@ -32,17 +57,30 @@ 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
unstable.discord discord
unstable.google-cloud-sdk (google-cloud-sdk.withExtraComponents [
unstable.slack google-cloud-sdk.components.gke-gcloud-auth-plugin
unstable.velero ])
myslack
velero
unstable.obs-studio obs-studio
unstable.obs-studio-plugins.wlrobs obs-studio-plugins.wlrobs
prusa-slicer
]; ];
# yubikey support
services.udev.packages = [ pkgs.yubikey-personalization ];
services.pcscd.enable = true;
} }