Compare commits

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

30 commits
x ... main

Author SHA1 Message Date
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 410 additions and 518 deletions

View file

@ -30,9 +30,13 @@
time.timeZone = "Europe/Berlin";
services.openssh.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
# system.autoUpgrade.enable = true;

View file

@ -1,24 +1,34 @@
font:
normal:
family: CaskaydiaCove Nerd Font
size: 12
size: 8
draw_bold_text_with_bright_colors: true
colors:
primary:
background: "0x19181A"
foreground: "0xFCFCFA"
background: '0xf8f8f8'
foreground: '0x2a2b33'
normal:
black: "0x19181A"
red: "0xcc6666"
green: "0xa9dc76"
yellow: "0xffd866"
cyan: "0x78dce8"
magenta: "0xFC9867"
blue: "0xAB9DF2"
white: "0xFCFCFA"
black: '0x000000'
red: '0xde3d35'
green: '0x3e953a'
yellow: '0xd2b67b'
blue: '0x2f5af3'
magenta: '0xa00095'
cyan: '0x3e953a'
white: '0xbbbbbb'
bright:
black: '0x000000'
red: '0xde3d35'
green: '0x3e953a'
yellow: '0xd2b67b'
blue: '0x2f5af3'
magenta: '0xa00095'
cyan: '0x3e953a'
white: '0xffffff'
window:
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,47 @@
# 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
set $mod Mod1
set $left h
set $down j
set $up k
set $right l
#set $term wezterm
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 $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 bemenu-run -H 23 -b -p run $menucolor
set $menucolor -H 23 -b \
--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 "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
output * bg $wallpaper fill
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 eDP-1 scale 1.25
# user keybinds
bindsym $mod+Return exec $term
@ -26,13 +51,14 @@ 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+Shift+o exec $otpmenu
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 $mod+m exec swayr switch-to
bindsym $mod+n exec emacsclient -cn
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
@ -44,23 +70,11 @@ 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
client.focused $cyan $white $black $violet $cyan
client.focused_inactive $white2 $white2 $black $white2 $white
client.unfocused $white2 $white2 $black $white2 $white
client.urgent $red $red $white $white2 $black
# movement
@ -134,37 +148,38 @@ bar {
font $font
position bottom
colors {
background $black
statusline $white
separator $violet
background $white
statusline $black
separator $cyan
# border back text
focused_workspace $violet $violet $black
active_workspace $violet $violet $black
urgent_workspace $red $red $white
inactive_workspace $black $black $white
focused_workspace $cyan $cyan $white
active_workspace $cyan $cyan $white
urgent_workspace $red $red $black
inactive_workspace $white $white $black
}
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'
gsettings set $gnome-schema cursor-theme Adwaita
gsettings set $gnome-schema icon-theme 'capitaine-cursors-white'
gsettings set $gnome-schema cursor-theme 'capitaine-cursors-white'
}
# autostarts
exec mako --font "$font" \
--background-color=$black \
--border-color=$violet \
--text-color=$white
exec swaync
exec emacs --daemon
exec swayidle before-sleep "$lock"
exec /run/current-system/sw/libexec/polkit-gnome-authentication-agent-1
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 swayrd
exec xinput set-prop "PIXA3854:00 093A:0274 Touchpad" 365 1
# pastebin
exec wl-paste --primary -t text --watch clipman store

View file

@ -1,64 +1,61 @@
[theme]
name = "plain"
theme = "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"
idle_bg = "#fafafa"
idle_fg = "#000000"
info_bg = "#fafafa"
info_fg = "#000000"
good_bg = "#fafafa"
good_fg = "#000000"
warning_bg = "#fafafa"
warning_fg = "#908550"
critical_bg = "#fafafa"
critical_fg = "#e75544"
separator_bg = "#fafafa"
separator_fg = "#3c74f6"
separator = "|"
[icons]
name = "none"
icons = "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"
backlight = [
"󰌶",
"󱩏",
"󱩒",
"󱩕",
"󰛨",
]
bat = [
"󱃍 ",
"󰁻",
"󰁾",
"󰂁",
"󰁹",
]
bat_charging = ""
cogs = ""
disk_drive = "󱛟"
headphones = "  "
memory_mem = "󰍛"
net_down = "󰅛"
net_up = "󰱓"
net_vpn = " "
net_wired = ""
net_wireless = " "
thermometer = "  "
time = ""
volume_empty = ""
volume_full = ""
volume_half = ""
volume_muted= " MUTE"
net_wireless = " 󰖩"
thermometer = " 󰔏 "
time = "󰥔"
volume_muted = "󰖁 MUTE"
volume = [
"",
"󰕾",
"",
]
[[block]]
block = "net"
device = "wg"
hide_inactive = true
hide_missing = true
[[block]]
block = "net"
device = "wlo1"
hide_inactive = true
hide_missing = true
device = "wlp166s0"
format = " $icon $ip$frequency "
[[block]]
block = "custom"
@ -68,23 +65,19 @@ command = '''echo " $(cat /sys/class/thermal/thermal_zone0/temp | head -c 2)
block = "disk_space"
path = "/"
info_type = "available"
unit = "GB"
format = "{icon} {available}"
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
format = " $icon $mem_used/$mem_total "
[[block]]
block = "load"
interval = 1
format = "{1m}"
format = " $icon $1m "
[[block]]
block = "sound"
@ -95,13 +88,23 @@ block = "backlight"
[[block]]
block = "battery"
device = "BAT0"
device = "BAT1"
interval = 10
format = "{percentage} ({time})"
full_format = "{percentage} ({time}) "
icons_format = " {icon} "
format = " $icon $percentage ($time) "
full_format = " $icon $percentage "
[[block]]
block = "time"
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.*',
},
}

84
hardware/framework.nix Normal file
View file

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

View file

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

View file

@ -1,6 +1,6 @@
{ pkgs, options, ... }:
let unstable = import <nixos-unstable> { };
let
in {
environment.systemPackages = with pkgs; [
cryptsetup
@ -9,16 +9,20 @@ in {
k9s
kind
kubectl
kubectx
kubeseal
nmap
pwgen
terraform
whois
ipcalc
unstable.argocd
unstable.kubernetes-helm
unstable.kustomize
unstable.terraform-ls
unstable.vault
argocd
kubernetes-helm
kustomize
pre-commit
terraform-ls
vault
docker-compose
fuse-overlayfs
@ -26,13 +30,23 @@ in {
virt-manager
(import ../packages/skaffold.nix)
(import ../packages/helm2.nix)
(import ../packages/certmanager.nix)
];
programs.bash.shellAliases = {
kx = "kubectx";
kns = "kubens";
};
virtualisation.docker = {
enable = true;
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";
STARSHIP_CONFIG = "/etc/starship.toml";
HISTCONTROL = "ignoreboth";
NIXOS_OZONE_WL = "y";
};
};
@ -89,6 +90,8 @@ in {
alias ls="ls --color=auto"
alias vim="nvim"
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() {
VAULT_TOKEN=$(vault token lookup -format=json | jq -r .data.id) \
@ -138,7 +141,12 @@ in {
services.fwupd.enable = true;
services.resolved.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 = {
source = "${pkgs.gnome.gvfs}/libexec/gvfsd-nfs";
@ -174,5 +182,4 @@ in {
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
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, ... }:
@ -7,43 +7,12 @@ let
colors = config.colors;
schema = pkgs.gsettings-desktop-schemas;
datadir = "${schema}/share/gsettings-schemas/${schema.name}";
unstable = import <nixos-unstable> { config.allowUnfree = true; };
in
{
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.droidcam.enable = true;
programs.sway = {
enable = true;
wrapperFeatures.gtk = true;
extraPackages = with pkgs; [
bemenu
brightnessctl
@ -56,19 +25,15 @@ in
slurp
swayidle
swaylock
swaynotificationcenter
swayr
wf-recorder
wofi
xwayland
];
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 ];
colors = {
@ -86,7 +51,6 @@ in
environment = {
etc = {
"i3/config".source = ../dotfiles/i3/config;
"sway/config".source = ../dotfiles/sway/config;
"sway/status.toml".source = ../dotfiles/sway/status.toml;
"xdg/alacritty/alacritty.yml".text = ''
@ -122,23 +86,19 @@ in
key_bindings:
- { key: Escape, mods: Control, action: ToggleViMode }
'';
"wezterm.lua".source = ../dotfiles/wezterm.lua;
};
};
programs.qt5ct.enable = true;
qt.platformTheme = "qt5ct";
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
security.polkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
pulse.enable = true;
jack.enable = true;
config.pipewire = {
"context.properties" = { "default.clock.rate" = 48000; };
};
};
services.udev.packages = [
(pkgs.writeTextFile {
@ -149,10 +109,11 @@ in
destination = "/etc/udev/rules.d/80-uinput.rules";
})
];
services.ratbagd.enable = true;
fonts.enableDefaultFonts = true;
fonts.enableDefaultPackages = true;
fonts.fontconfig.antialias = true;
fonts.fonts = with pkgs; [
fonts.packages = with pkgs; [
corefonts
emacs-all-the-icons-fonts
fira-code
@ -194,8 +155,10 @@ in
libsForQt5.qtstyleplugins
lxappearance
numix-icon-theme
numix-cursor-theme
alacritty
gimp
imv
inkscape
keepassxc
@ -207,8 +170,10 @@ in
nodePackages.insect
pavucontrol
pcmanfm
pulseeffects-pw
qrencode
remmina
wezterm
uxplay
solaar
gdk-pixbuf
@ -216,7 +181,7 @@ in
clipman
wdisplays
wl-clipboard
xdg_utils
xdg-utils
xfce.thunar
xfce.thunar-volman
wtype
@ -237,6 +202,7 @@ in
export QT_QPA_PLATFORM=wayland-egl
export QT_WAYLAND_FORCE_DPI=96
export SDL_VIDEODRIVER=wayland
export WEZTERM_CONFIG_FILE=/etc/wezterm.lua
export XDG_CURRENT_DESKTOP=sway
export XDG_DATA_DIRS=${datadir}:$XDG_DATA_DIRS
export XDG_SESSION_TYPE=wayland
@ -259,8 +225,14 @@ in
services.printing.enable = true;
services.printing.drivers = [ pkgs.gutenprint ];
services.avahi.enable = true;
services.avahi.nssmdns = true;
hardware.opengl = { enable = true; };
services.avahi = {
enable = true;
nssmdns4 = 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 {
services.emacs.package = pkgs.emacs29-pgtk;
environment.systemPackages = with pkgs; [
gnumake
go_1_17
go
rustup
shellcheck
unstable.golangci-lint
unstable.gopls
unstable.rust-analyzer
#unstable.esphome
unstable.nodePackages.pyright
(python39.withPackages
(python311.withPackages
(python-packages: with python-packages; [
black
diagrams
pymemcache
pyyaml
requests
]))
ruff-lsp
])
)
mariadb-client
musl
dbeaver
emacs
dbeaver-bin
emacs29-pgtk
gitAndTools.delta
lazygit
ltrace
parallel
sops
tig
unstable.bazel
openssl
pkg-config

View file

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

View file

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

View file

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

View file

@ -3,10 +3,29 @@
let
unstable = import <nixos-unstable> { config.allowUnfree = true; };
cloudstation = pkgs.callPackage (import ../packages/cloudstation.nix) { };
nagstamon =
pkgs.libsForQt5.callPackage (import ../packages/nagstamon.nix) { };
nagstamon = 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 {
environment.variables = {
USE_GKE_GCLOUD_AUTH_PLUGIN = "True";
};
services.tailscale = {
enable = true;
package = unstable.tailscale;
};
security.pki.certificateFiles = [
../dotfiles/certs/NetzmarktCA.crt
../dotfiles/certs/vcenter.netzmarkt.lan.crt
@ -21,8 +40,18 @@ in {
172.20.0.2 grafana.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 database
127.0.0.1 youtube.com
127.0.0.1 www.youtube.com
34.49.192.42 www.tbone.audio
34.49.192.42 jobs.thomann.de
'';
environment.systemPackages = with pkgs; [
@ -32,17 +61,29 @@ in {
# (import ../packages/vaultsink.nix) needs opensource verson
cloudstation
nagstamon
yubikey-manager
anydesk
chromium
nodejs
vscodium
drone-cli
go-jira
govc
ttyd
unstable.discord
unstable.google-cloud-sdk
unstable.slack
unstable.velero
discord
(google-cloud-sdk.withExtraComponents [
google-cloud-sdk.components.gke-gcloud-auth-plugin
])
myslack
velero
unstable.obs-studio
unstable.obs-studio-plugins.wlrobs
obs-studio
obs-studio-plugins.wlrobs
prusa-slicer
];
# yubikey support
services.udev.packages = [ pkgs.yubikey-personalization ];
services.pcscd.enable = true;
}