diff --git a/configuration.nix b/configuration.nix index c082346..e843abe 100644 --- a/configuration.nix +++ b/configuration.nix @@ -32,6 +32,7 @@ "openssl-1.0.2u" ]; + system.autoUpgrade.enable = true; system.stateVersion = "20.03"; # We can stay here } diff --git a/dotfiles/i3/config b/dotfiles/i3/config new file mode 100644 index 0000000..3e8c43f --- /dev/null +++ b/dotfiles/i3/config @@ -0,0 +1,147 @@ +# config +set $mod Mod1 +set $left h +set $down j +set $up k +set $right l +set $term alacritty + +set $menu bemenu-run -H 23 -b -p run \ + --ff=#ff6188 \ + --nf=#fcfcfa \ + --tf=#78dce8 \ + --hf=#78dce8 \ + --tb=#2d2a2e \ + --fb=#2d2a2e \ + --nb=#2d2a2e \ + --hb=#2d2a2e \ + --sb=#2d2a2e + +# 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+Shift+p exec keepassxc +bindsym $mod+z exec swaylock -t -i /home/stefan/Downloads/bg.jpg --scaling=fill +bindsym $mod+Up exec light -A 5 +bindsym $mod+Down exec light -U 5 +bindsym Print exec "maim -s -c 1,0,0,0.6 -p 10" + +# 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 + +# font +font Cascadia Code 10 + +# colors +set $black #2d2a2e +set $base00 #2d2a2e +set $base01 #ff6188 +set $base02 #a9dc76 +set $base03 #ffd866 +set $base04 #78dce8 +set $base05 #ab9df2 +set $base06 #fcfcfa +set $base07 #fcfcfa +set $base08 #323232 +set $base09 #cc6666 +set $base0A #ffd866 +set $base0B #78dce8 +set $base0C #ab9df2 +set $base0D #ff6188 +set $base0E #a6dc76 +set $base0F #ffffff + +# border background text indicator +client.focused $base04 $base00 $base07 $base04 $base04 +client.focused_inactive $base00 $base00 $base07 $base00 $base00 +client.unfocused $black $black $base07 $base00 $base00 +client.urgent $base01 $base01 $base00 $base08 $base07 + + +# 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" + +bar { + position bottom + colors { + background $black + statusline $base07 + separator $base04 + + # border back text + focused_workspace $base04 $base04 $base00 + active_workspace $base04 $base04 $base00 + urgent_workspace $base01 $base01 $base07 + inactive_workspace $base00 $base00 $base07 + + } + status_command i3status-rs /etc/sway/status.toml +} + +exec mako --border-color=#cc6666 \ + --background-color=#2d2a2eee +exec emacs --daemon + +set $gnome-schema org.gnome.desktop.interface +exec_always { + gsettings set $gnome-schema gtk-theme 'Arc-Dark' + gsettings set $gnome-schema icon-theme 'elementary Xfce' + gsettings set $gnome-schema cursor-theme 'Capitaine Cursors - White' +} diff --git a/dotfiles/i3/status.toml b/dotfiles/i3/status.toml new file mode 100644 index 0000000..97cb93b --- /dev/null +++ b/dotfiles/i3/status.toml @@ -0,0 +1,106 @@ +[theme] +name = "plain" +[theme.overrides] +idle_bg = "#2d2a2e" +idle_fg = "#eeeeee" +info_bg = "#2d2a2e" +info_fg = "#eeeeee" +good_bg = "#2d2a2e" +good_fg = "#a9dc76" +warning_bg = "#2d2a2e" +warning_fg = "#ffd866" +critical_bg = "#2a2e38" +critical_fg = "#ff665c" +separator_bg = "#2d2a2e" +separator_fg = "#555555" +separator = "|" + +[icons] +name = "none" +[icons.overrides] +bat = "  " +bat_full = "  " +bat_charging = "   " +bat_discharging = "  " +backlight_empty = "  " +backlight_partial1 = "  " +backlight_partial2 = "  " +backlight_partial3 = "  " +backlight_full = "  " +volume_full = "  " +volume_half = "  " +volume_empty = "  " +volume_muted= "MUTE" +cogs = "  " +memory_mem = "  " +headphones = "  " +net_wireless = " " +net_vpn = " " +net_wired = "" +net_up = "UP" +net_down = "DOWN" +thermometer = "  " + + +[[block]] +block = "net" +device = "wg" +ip = true +ssid = false +speed_up = false +speed_down = false +hide_inactive = true +hide_missing = true + +[[block]] +block = "net" +device = "wlo1" +ip = true +ssid = true +speed_up = false +speed_down = false +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 = "/" +alias = " /" +info_type = "available" +unit = "GB" +interval = 20 +warning = 20.0 +alert = 10.0 + +[[block]] +block = "memory" +display_type = "memory" +format_mem = "{Mup}%" +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}" + +[[block]] +block = "time" +interval = 60 +format = "%Y-%m-%d %H:%M" diff --git a/packages/nagstamon.nix b/packages/nagstamon.nix index 451efd1..c1c09e7 100644 --- a/packages/nagstamon.nix +++ b/packages/nagstamon.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchFromGitHub, python39Packages, wrapQtAppsHook }: +{ stdenv, fetchFromGitHub, python38Packages, wrapQtAppsHook }: -python39Packages.buildPythonApplication rec { +python38Packages.buildPythonApplication rec { pname = "nagstamon"; version = "3.7.0-alpha"; @@ -20,7 +20,7 @@ python39Packages.buildPythonApplication rec { wrapQtApp $out/bin/nagstamon.py ''; - propagatedBuildInputs = with python39Packages; [ + propagatedBuildInputs = with python38Packages; [ beautifulsoup4 configparser dateutil diff --git a/roles/base.nix b/roles/base.nix index bc64e3c..39730da 100644 --- a/roles/base.nix +++ b/roles/base.nix @@ -83,6 +83,7 @@ in { alias less="bat -p" alias ls="ls --color=auto" alias vim="nvim" + alias k="kubectl" for script in "$HOME"/dotfiles/bashrc/*.sh; do . "$script" @@ -103,6 +104,7 @@ in { ls = "ls --color=auto"; vim = "nvim"; sink = "VAULT_TOKEN=$(vault token lookup -format=json | jq -r .data.id) ENVIRONMENTS=staging ~/git/bitsbeats/vault-sink/sink"; + usink = "VAULT_TOKEN=$(vault token lookup -format=json | jq -r .data.id) ENVIRONMENTS=staging ~/git/bitsbeats/vault-sink/sink < ./helm/*/values.yaml > values.yaml"; }; }; diff --git a/roles/desktop.nix b/roles/desktop.nix index d8ac11b..dce2195 100644 --- a/roles/desktop.nix +++ b/roles/desktop.nix @@ -7,6 +7,28 @@ let unstable = import { config.allowUnfree = true; }; in { + environment.pathsToLink = ["/libexec"]; + services.xserver = { + enable = true; + desktopManager = { + xterm.enable = false; + }; + displayManager = { + defaultSession = "none+i3"; + }; + + windowManager.i3 = { + enable = true; + extraPackages = with pkgs; [ + bemenu + i3lock + i3status-rust + maim + xclip + ]; + }; + }; + programs.sway = { enable = true; extraPackages = with pkgs; [ @@ -38,6 +60,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".source = ../dotfiles/alacritty.yml; @@ -55,7 +78,7 @@ in { config.pipewire = { "context.properties" = { - "default.clock.rate" = 44100; + "default.clock.rate" = 48000; }; }; }; @@ -74,6 +97,7 @@ in { nixpkgs.config.allowUnfree = true; environment.systemPackages = with pkgs; [ + xorg.xinit polkit polkit_gnome diff --git a/roles/mail.nix b/roles/mail.nix index 8e834c5..0f81277 100644 --- a/roles/mail.nix +++ b/roles/mail.nix @@ -1,10 +1,11 @@ { config, lib, pkgs, ... }: let + unstable = import { config.allowUnfree = true; }; notcoal = pkgs.callPackage (import ../packages/notcoal) {}; in { environment.systemPackages = with pkgs; [ - astroid + unstable.astroid isync khal msmtp diff --git a/roles/work.nix b/roles/work.nix index 6535389..5d7d56f 100644 --- a/roles/work.nix +++ b/roles/work.nix @@ -31,7 +31,6 @@ in { cloudstation nagstamon - astroid drone-cli go-jira govc