diff --git a/configuration.nix b/configuration.nix index ec8fc82..364eb1e 100644 --- a/configuration.nix +++ b/configuration.nix @@ -30,13 +30,9 @@ time.timeZone = "Europe/Berlin"; services.openssh.enable = true; - networking.firewall.enable = true; - nixpkgs.config.permittedInsecurePackages = [ - "openssl-1.0.2u" - "python3.10-kerberos-1.3.1" - ]; + nixpkgs.config.permittedInsecurePackages = [ "openssl-1.0.2u" ]; # removed for mobile working # system.autoUpgrade.enable = true; diff --git a/dotfiles/alacritty.yml b/dotfiles/alacritty.yml index 81419b5..4d524b9 100644 --- a/dotfiles/alacritty.yml +++ b/dotfiles/alacritty.yml @@ -1,34 +1,24 @@ font: normal: family: CaskaydiaCove Nerd Font - size: 8 + size: 12 draw_bold_text_with_bright_colors: true colors: primary: - background: '0xf8f8f8' - foreground: '0x2a2b33' + background: "0x19181A" + foreground: "0xFCFCFA" normal: - 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' + black: "0x19181A" + red: "0xcc6666" + green: "0xa9dc76" + yellow: "0xffd866" + cyan: "0x78dce8" + magenta: "0xFC9867" + blue: "0xAB9DF2" + white: "0xFCFCFA" window: dynamic_title: true diff --git a/dotfiles/i3/config b/dotfiles/i3/config new file mode 100644 index 0000000..1620807 --- /dev/null +++ b/dotfiles/i3/config @@ -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' diff --git a/dotfiles/i3/status.toml b/dotfiles/i3/status.toml new file mode 100644 index 0000000..7f94a43 --- /dev/null +++ b/dotfiles/i3/status.toml @@ -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" diff --git a/dotfiles/sway/config b/dotfiles/sway/config index ec3b364..3359a4f 100644 --- a/dotfiles/sway/config +++ b/dotfiles/sway/config @@ -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 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/wall.png +set $wallpaper /home/stefan/Downloads/bg.jpg set $lock swaylock -t -i $wallpaper --scaling=fill set $font CaskaydiaCove Nerd Font 10 -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 +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 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 -input * xkb_options compose:paus 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 @@ -52,14 +26,13 @@ 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 numbat -e numbat -bindsym $mod+m exec swayr switch-to -bindsym $mod+n exec emacsclient -cn +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 @@ -69,13 +42,25 @@ 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="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 -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 +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 @@ -149,38 +134,37 @@ bar { font $font position bottom colors { - background $white - statusline $black - separator $cyan + background $black + statusline $white + separator $violet # border back text - focused_workspace $cyan $cyan $white - active_workspace $cyan $cyan $white - urgent_workspace $red $red $black - inactive_workspace $white $white $black + 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 cursor-theme Adwaita - gsettings set $gnome-schema icon-theme 'capitaine-cursors-white' - gsettings set $gnome-schema cursor-theme 'capitaine-cursors-white' + 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 swaync +exec mako --font "$font" \ + --background-color=$black \ + --border-color=$violet \ + --text-color=$white 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 diff --git a/dotfiles/sway/status.toml b/dotfiles/sway/status.toml index 6add7e0..7f94a43 100644 --- a/dotfiles/sway/status.toml +++ b/dotfiles/sway/status.toml @@ -1,61 +1,64 @@ [theme] -theme = "plain" +name = "plain" [theme.overrides] -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" +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] -icons = "none" +name = "none" [icons.overrides] -backlight = [ - "󰌶", - "󱩏", - "󱩒", - "󱩕", - "󰛨", -] -bat = [ - "󱃍 ", - "󰁻", - "󰁾", - "󰂁", - "󰁹", -] -bat_charging = "" -cogs = "" -disk_drive = "󱛟" -headphones = "  " -memory_mem = "󰍛" -net_down = "󰅛" -net_up = "󰱓" +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_muted = "󰖁 MUTE" -volume = [ - "", - "󰕾", - "", -] +net_wireless = " " +thermometer = "  " +time = "" +volume_empty = "" +volume_full = "" +volume_half = "" +volume_muted= " MUTE" + [[block]] block = "net" -device = "wlp166s0" -format = " $icon $ip$frequency " +device = "wg" +hide_inactive = true +hide_missing = true + +[[block]] +block = "net" +device = "wlo1" +hide_inactive = true +hide_missing = true [[block]] block = "custom" @@ -65,19 +68,23 @@ command = '''echo " $(cat /sys/class/thermal/thermal_zone0/temp | head -c 2) block = "disk_space" path = "/" info_type = "available" -format = " $icon $available " +unit = "GB" +format = "{icon} {available}" interval = 20 warning = 20.0 alert = 10.0 [[block]] block = "memory" -format = " $icon $mem_used/$mem_total " +display_type = "memory" +format_mem = "{mem_total_used_percents}" +icons_format = " {icon}" +clickable = false [[block]] block = "load" interval = 1 -format = " $icon $1m " +format = "{1m}" [[block]] block = "sound" @@ -88,23 +95,13 @@ block = "backlight" [[block]] block = "battery" -device = "BAT1" +device = "BAT0" interval = 10 -format = " $icon $percentage ($time) " -full_format = " $icon $percentage " +format = "{percentage} ({time})" +full_format = "{percentage} ({time}) " +icons_format = " {icon} " [[block]] block = "time" interval = 60 -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" +format = "%Y-%m-%d %H:%M" diff --git a/dotfiles/wezterm.lua b/dotfiles/wezterm.lua deleted file mode 100644 index de74238..0000000 --- a/dotfiles/wezterm.lua +++ /dev/null @@ -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.*', - }, -} diff --git a/hardware/framework.nix b/hardware/framework.nix deleted file mode 100644 index f029ec5..0000000 --- a/hardware/framework.nix +++ /dev/null @@ -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 {}; -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..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"; - }; -} diff --git a/packages/helm2.nix b/packages/helm2.nix new file mode 100644 index 0000000..ebd69e7 --- /dev/null +++ b/packages/helm2.nix @@ -0,0 +1,27 @@ +with import { }; + +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 ]; + }; +} diff --git a/packages/nagstamon.nix b/packages/nagstamon.nix index c78c154..86fe18f 100644 --- a/packages/nagstamon.nix +++ b/packages/nagstamon.nix @@ -1,40 +1,37 @@ -{ lib, fetchFromGitHub, python311Packages, wrapQtAppsHook, pkgs }: +{ lib, fetchFromGitHub, python39Packages, wrapQtAppsHook }: let pname = "nagstamon"; - version = "v3.12.0"; - -in python311Packages.buildPythonApplication rec { + version = "v3.8.0"; +in python39Packages.buildPythonApplication rec { inherit pname; inherit version; src = fetchFromGitHub { owner = "HenriWahl"; repo = "Nagstamon"; - rev = version; - sha256 = "sha256-SI0FPTqJquaVyl/gpp883eGLq7tZ6J0fqn0jp77M8GM="; + rev = "${version}"; + sha256 = "0a8aqw44z58pabsgxlvndnmzzvc50wrb4g12yp6zgajn40b2l8pw"; }; doCheck = false; nativeBuildInputs = [ wrapQtAppsHook ]; postFixup = '' - makeQtWrapper $out/bin/nagstamon.py $out/bin/nagstamon + wrapQtApp $out/bin/nagstamon.py ''; - 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 + propagatedBuildInputs = with python39Packages; [ + beautifulsoup4 + configparser + dateutil + keyring + lxml + psutil + pyqt5_with_qtmultimedia + requests + setuptools + xlib ]; meta = with lib; { @@ -45,3 +42,4 @@ in python311Packages.buildPythonApplication rec { inherit version; }; } + diff --git a/packages/neovim.nix b/packages/neovim.nix index 2138777..933ab1c 100644 --- a/packages/neovim.nix +++ b/packages/neovim.nix @@ -98,7 +98,7 @@ neovim.override { noremap ml :fzf_lsp_layout let g:which_key_map.g = { 'name': '+git' } - noremap gs :call LazyGit + noremap gs :!lazygit " lang specifics let g:rustfmt_autosave = 1 @@ -110,11 +110,10 @@ neovim.override { airline easymotion editorconfig-vim - fzf-lsp-nvim - fzf-vim fzfWrapper + fzf-vim + fzf-lsp-nvim LanguageClient-neovim - lazygit-nvim ncm2 nnn-vim surround diff --git a/roles/admin.nix b/roles/admin.nix index 7d70648..7a58cb8 100644 --- a/roles/admin.nix +++ b/roles/admin.nix @@ -1,6 +1,6 @@ { pkgs, options, ... }: -let +let unstable = import { }; in { environment.systemPackages = with pkgs; [ cryptsetup @@ -9,22 +9,16 @@ in { k9s kind kubectl - kubectx kubeseal - nmap pwgen terraform - terraform-docs whois - ipcalc - argocd - kubernetes-helm - kustomize - pre-commit - terraform-ls - vault - yaml-language-server + unstable.argocd + unstable.kubernetes-helm + unstable.kustomize + unstable.terraform-ls + unstable.vault docker-compose fuse-overlayfs @@ -32,23 +26,13 @@ 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; - qemu = { - swtpm.enable = true; - ovmf.enable = true; - }; - }; + virtualisation.libvirtd.enable = true; } diff --git a/roles/base.nix b/roles/base.nix index 032f4d7..2764f21 100644 --- a/roles/base.nix +++ b/roles/base.nix @@ -49,7 +49,6 @@ in { EDITOR = "nvim"; STARSHIP_CONFIG = "/etc/starship.toml"; HISTCONTROL = "ignoreboth"; - NIXOS_OZONE_WL = "y"; }; }; @@ -90,8 +89,6 @@ 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) \ @@ -141,12 +138,7 @@ 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"; @@ -182,4 +174,5 @@ in { LC_IDENTIFICATION = "de_DE.UTF-8"; }; }; + } diff --git a/roles/desktop.nix b/roles/desktop.nix index 38f85c8..d8e9780 100644 --- a/roles/desktop.nix +++ b/roles/desktop.nix @@ -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 # to /etc/nixos/configuration.nix instead. { config, lib, pkgs, ... }: @@ -7,12 +7,43 @@ let colors = config.colors; schema = pkgs.gsettings-desktop-schemas; datadir = "${schema}/share/gsettings-schemas/${schema.name}"; + unstable = import { config.allowUnfree = true; }; 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 = { enable = true; - wrapperFeatures.gtk = true; extraPackages = with pkgs; [ bemenu brightnessctl @@ -25,15 +56,19 @@ 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 = { @@ -51,6 +86,7 @@ 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 = '' @@ -86,19 +122,23 @@ in key_bindings: - { key: Escape, mods: Control, action: ToggleViMode } ''; - "wezterm.lua".source = ../dotfiles/wezterm.lua; }; }; - qt.platformTheme = "qt5ct"; + programs.qt5ct.enable = true; 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 { @@ -109,11 +149,10 @@ in destination = "/etc/udev/rules.d/80-uinput.rules"; }) ]; - services.ratbagd.enable = true; - fonts.enableDefaultPackages = true; + fonts.enableDefaultFonts = true; fonts.fontconfig.antialias = true; - fonts.packages = with pkgs; [ + fonts.fonts = with pkgs; [ corefonts emacs-all-the-icons-fonts fira-code @@ -155,10 +194,8 @@ in libsForQt5.qtstyleplugins lxappearance numix-icon-theme - numix-cursor-theme alacritty - gimp imv inkscape keepassxc @@ -167,13 +204,11 @@ in mpv mumble neofetch - numbat + nodePackages.insect pavucontrol pcmanfm + pulseeffects-pw qrencode - remmina - uxplay - wezterm solaar gdk-pixbuf @@ -181,7 +216,7 @@ in clipman wdisplays wl-clipboard - xdg-utils + xdg_utils xfce.thunar xfce.thunar-volman wtype @@ -202,7 +237,6 @@ 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 @@ -225,14 +259,8 @@ in services.printing.enable = true; services.printing.drivers = [ pkgs.gutenprint ]; - services.avahi = { - enable = true; - nssmdns4 = true; - publish = { - enable = true; - addresses = true; - workstation = true; - userServices = true; - }; - }; + services.avahi.enable = true; + services.avahi.nssmdns = true; + + hardware.opengl = { enable = true; }; } diff --git a/roles/dev.nix b/roles/dev.nix index eba14da..92cda0c 100644 --- a/roles/dev.nix +++ b/roles/dev.nix @@ -1,42 +1,40 @@ -{ config, lib, buildPythonPackage, pkgs, fetchPypi,... }: +{ config, lib, pkgs, ... }: -let - unstable = import { }; +let unstable = import { }; in { - services.emacs.package = pkgs.emacs-pgtk; - environment.systemPackages = with pkgs; [ gnumake - go - phpactor + go_1_17 rustup shellcheck unstable.golangci-lint unstable.gopls + unstable.rust-analyzer + #unstable.esphome - (python311.withPackages + unstable.nodePackages.pyright + (python39.withPackages (python-packages: with python-packages; [ black diagrams pymemcache pyyaml requests - ruff-lsp - ]) - ) + ])) mariadb-client musl - dbeaver-bin - emacs-pgtk + dbeaver + emacs gitAndTools.delta lazygit ltrace parallel sops tig + unstable.bazel openssl pkg-config diff --git a/roles/mail.nix b/roles/mail.nix index 7615422..f2cd7e0 100644 --- a/roles/mail.nix +++ b/roles/mail.nix @@ -1,6 +1,7 @@ { config, lib, pkgs, ... }: let + unstable = import { config.allowUnfree = true; }; notcoal = pkgs.callPackage ../packages/notcoal { }; in { environment.systemPackages = with pkgs; [ @@ -10,7 +11,7 @@ in { notmuch notcoal thunderbird - astroid + unstable.astroid vdirsyncer ]; } diff --git a/roles/network.nix b/roles/network.nix index a7b3b84..4dce0d4 100644 --- a/roles/network.nix +++ b/roles/network.nix @@ -1,6 +1,6 @@ { config, lib, pkgs, ... }: -let +let unstable = import { config.allowUnfree = true; }; in { networking.networkmanager.enable = true; @@ -9,6 +9,5 @@ in { environment.systemPackages = with pkgs; [ networkmanagerapplet networkmanager-vpnc - openconnect_openssl ]; } diff --git a/roles/private.nix b/roles/private.nix index 408652f..dd28440 100644 --- a/roles/private.nix +++ b/roles/private.nix @@ -1,6 +1,7 @@ { config, lib, pkgs, ... }: let + unstable = import { }; openscad-ls = pkgs.callPackage ../packages/openscad-language-server.nix { }; in { diff --git a/roles/work.nix b/roles/work.nix index 7032d63..8a7485e 100644 --- a/roles/work.nix +++ b/roles/work.nix @@ -3,29 +3,10 @@ let unstable = import { config.allowUnfree = true; }; cloudstation = pkgs.callPackage (import ../packages/cloudstation.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" - ''; - }); + nagstamon = + pkgs.libsForQt5.callPackage (import ../packages/nagstamon.nix) { }; 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 @@ -40,14 +21,8 @@ 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 ''; environment.systemPackages = with pkgs; [ @@ -57,30 +32,17 @@ in { # (import ../packages/vaultsink.nix) needs opensource verson cloudstation nagstamon - yubikey-manager - anydesk - chromium - nodejs - vscodium - git-lfs drone-cli + go-jira govc ttyd - discord - (google-cloud-sdk.withExtraComponents [ - google-cloud-sdk.components.gke-gcloud-auth-plugin - ]) - myslack - velero + unstable.discord + unstable.google-cloud-sdk + unstable.slack + unstable.velero - obs-studio - obs-studio-plugins.wlrobs - - prusa-slicer + unstable.obs-studio + unstable.obs-studio-plugins.wlrobs ]; - - # yubikey support - services.udev.packages = [ pkgs.yubikey-personalization ]; - services.pcscd.enable = true; }