From bc0972a9244bb04e7fb436883989d86f7e4e7df6 Mon Sep 17 00:00:00 2001 From: mehbark Date: Sat, 1 Aug 2026 01:33:13 -0400 Subject: [PATCH] remove `build.conf.nix` It basically functioned as a fancy way to comment out code, which is a bad habit in our version-controlled world. --- build.conf.nix | 15 -- configuration.nix | 18 +- flake.nix | 15 +- home.nix | 71 +------ i3.conf.nix | 234 ----------------------- polybar.conf.nix | 473 ---------------------------------------------- 6 files changed, 7 insertions(+), 819 deletions(-) delete mode 100644 build.conf.nix delete mode 100644 i3.conf.nix delete mode 100644 polybar.conf.nix diff --git a/build.conf.nix b/build.conf.nix deleted file mode 100644 index c431a1f..0000000 --- a/build.conf.nix +++ /dev/null @@ -1,15 +0,0 @@ -input@{ wm ? null, ...}: -with builtins; -input // -rec { - # should probably split plasma into plasma-x11 and plasma-wayland at some point - # not all of these actually work btw - x11-wms = ["xmonad" "i3"]; - # v :o v - wayland-wms = ["hyprland" "sway" "plasma" "cosmic"]; - wms = x11-wms ++ wayland-wms; - - # very, very non-exhaustive of course - is-x11 = elem wm x11-wms; - is-wayland = elem wm wayland-wms; -} diff --git a/configuration.nix b/configuration.nix index 278bd62..f300beb 100644 --- a/configuration.nix +++ b/configuration.nix @@ -1,8 +1,4 @@ -build-conf: { config, pkgs, ... }: -let - conf = build-conf; -in { nix = { package = pkgs.nixVersions.stable; @@ -87,26 +83,16 @@ in desktopManager = { xterm.enable = false; }; - - windowManager = { - i3.enable = conf.wm == "i3"; - }; }; services.desktopManager = { - plasma6.enable = conf.wm == "plasma"; - cosmic.enable = conf.wm == "cosmic"; + plasma6.enable = true; }; services.displayManager = { - sddm.enable = conf.wm == "plasma" || conf.wm == "xmonad"; - defaultSession = if conf.wm == "i3" then "xfce+i3" else null; + sddm.enable = true; }; - # services.xwayland = { - # enable = conf.is-wayland; - # }; - services.fstrim.enable = true; hardware = { diff --git a/flake.nix b/flake.nix index f74b947..c697c10 100644 --- a/flake.nix +++ b/flake.nix @@ -40,17 +40,13 @@ ... }: let - # :( - # could do like nix-i3, nix-hyprland but that would be LAME - conf = (import ./build.conf.nix) { wm = "plasma"; }; modules = [ - ((import ./configuration.nix) conf) + (import ./configuration.nix) home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.users.mbk = (import ./home.nix) { - inherit conf; more-packages = [ ]; }; @@ -72,12 +68,9 @@ }; homeConfigurations.mbk = home-manager.lib.homeManagerConfiguration { - pkgs = nixpkgs.legacyPackages.x86_64-linux; + inherit modules; - modules = if conf.wm == "hyprland" then modules ++ [ - hyprland.homeManagerModules.default - {wayland.windowManager.hyprland.enable = true;} - ] else modules; + pkgs = nixpkgs.legacyPackages.x86_64-linux; }; darwinConfigurations = { @@ -88,7 +81,7 @@ { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; - home-manager.users.clark = import ./home.nix {inherit conf; darwin = true;}; + home-manager.users.clark = import ./home.nix {darwin = true;}; } ]; specialArgs = { inherit inputs; }; diff --git a/home.nix b/home.nix index add621d..469773c 100644 --- a/home.nix +++ b/home.nix @@ -1,8 +1,5 @@ -{ conf, more-packages ? [], darwin ? false }: +{ more-packages ? [], darwin ? false }: { config, lib, pkgs, ... }: -let - wm = conf.wm; -in { home.stateVersion = "22.05"; @@ -341,72 +338,6 @@ in ]; }; - xsession.windowManager.xmonad = if wm == "xmonad" then { - enable = true; - config = pkgs.writeText "xmonad.hs" '' - import XMonad - import XMonad.Config.Kde - main = xmonad kde4Config - { terminal = "kitty" - , modMask = mod4Mask - , borderWidth = 1 - } - ''; - } else {}; - - wayland.windowManager.hyprland = if wm == "hyprland" - then { - enable = true; - enableNvidiaPatches = true; - extraConfig = '' - $mod = SUPER - - bind = $mod, F, exec, firefox - bind = , Print, exec, grimblast copy area - - # workspaces - # binds $mod + [shift +] {1..10} to [move to] workspace {1..10} - ${builtins.concatStringsSep "\n" (builtins.genList ( - x: let - ws = let - c = (x + 1) / 10; - in - builtins.toString (x + 1 - (c * 10)); - in '' - bind = $mod, ${ws}, workspace, ${toString (x + 1)} - bind = $mod SHIFT, ${ws}, movetoworkspace, ${toString (x + 1)} - '' - ) - 10)} - - # ... - ''; - } else {}; - - wayland.windowManager.sway = if wm == "sway" - then { - enable = true; - config = rec { - modifier = "Mod4"; - terminal = "kitty"; - startup = [ - ]; - }; - } else {}; - - services.polybar = if wm == "i3" - then { - enable = true; - script = "polybar bar &"; - settings = import ./polybar.conf.nix; - } else {}; - - xsession.windowManager.i3 = if wm == "i3" - then { - enable = true; - extraConfig = import ./i3.conf.nix; - } else {}; - programs.readline = { enable = true; }; diff --git a/i3.conf.nix b/i3.conf.nix deleted file mode 100644 index 5ed7905..0000000 --- a/i3.conf.nix +++ /dev/null @@ -1,234 +0,0 @@ -'' -gaps inner 0 -gaps outer 0 - -smart_gaps on - -set $mod Mod4 - -# Font for window titles. Will also be used by the bar unless a different font -# is used in the bar {} block below. -font pango:monospace 8 - -# This font is widely installed, provides lots of unicode glyphs, right-to-left -# text rendering and scalability on retina/hidpi displays (thanks to pango). -#font pango:DejaVu Sans Mono 8 - -# Before i3 v4.8, we used to recommend this one as the default: -# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1 -# The font above is very space-efficient, that is, it looks good, sharp and -# clear in small sizes. However, its unicode glyph coverage is limited, the old -# X core fonts rendering does not support right-to-left and this being a bitmap -# font, it doesn’t scale on retina/hidpi displays. - -# Use Mouse+$mod to drag floating windows to their wanted position -floating_modifier $mod - -# start a terminal -bindcode $mod+104 exec kitty - -# kill focused window -bindsym $mod+q kill - -# start dmenu (a program launcher) -#bindsym $mod+d exec dmenu_run -# There also is the (new) i3-dmenu-desktop which only displays applications -# shipping a .desktop file. It is a wrapper around dmenu, so you need that -# installed. -#bindsym $mod+d exec --no-startup-id i3-dmenu-desktop -bindsym $mod+d exec --no-startup-id rofi -combi-modi window#drun -show combi -modi combi -show-icons -bindsym $mod+g exec --no-startup-id rofi -show window - -# change focus -bindsym $mod+j focus left -bindsym $mod+k focus down -bindsym $mod+l focus up -bindsym $mod+semicolon focus right - -# alternatively, you can use the cursor keys: -bindsym $mod+Left focus left -bindsym $mod+Down focus down -bindsym $mod+Up focus up -bindsym $mod+Right focus right - -# move focused window -bindsym $mod+Shift+j move left -bindsym $mod+Shift+k move down -bindsym $mod+Shift+l move up -bindsym $mod+Shift+colon move right - -# alternatively, you can use the cursor keys: -bindsym $mod+Shift+Left move left -bindsym $mod+Shift+Down move down -bindsym $mod+Shift+Up move up -bindsym $mod+Shift+Right move right - -# split in horizontal orientation -bindsym $mod+h split h - -# split in vertical orientation -bindsym $mod+v split v - -# enter fullscreen mode for the focused container -bindsym $mod+f fullscreen toggle - -# change container layout (stacked, tabbed, toggle split) -bindsym $mod+s layout stacking -bindsym $mod+w layout tabbed -bindsym $mod+e layout toggle split - -# toggle tiling / floating -bindsym $mod+Shift+space floating toggle - -# change focus between tiling / floating windows -bindsym $mod+space focus mode_toggle - -# focus the parent container -bindsym $mod+a focus parent - -# focus the child container -#bindsym $mod+d focus child - -# Define names for default workspaces for which we configure key bindings later on. -# We use variables to avoid repeating the names in multiple places. -set $ws1 "1" -set $ws2 "2" -set $ws3 "3" -set $ws4 "4" -set $ws5 "5" -set $ws6 "6" -set $ws7 "7" -set $ws8 "8" -set $ws9 "9" -set $ws10 "10" - -# switch to workspace -bindsym $mod+1 workspace $ws1 -bindsym $mod+2 workspace $ws2 -bindsym $mod+3 workspace $ws3 -bindsym $mod+4 workspace $ws4 -bindsym $mod+5 workspace $ws5 -bindsym $mod+6 workspace $ws6 -bindsym $mod+7 workspace $ws7 -bindsym $mod+8 workspace $ws8 -bindsym $mod+9 workspace $ws9 -#bindsym $mod+0 workspace $ws10 - - -# Lock screen -bindsym $mod+0 exec --no-startup-id i3lock - -# Move focused container to workspace -bindsym $mod+Ctrl+1 move container to workspace $ws1 -bindsym $mod+Ctrl+2 move container to workspace $ws2 -bindsym $mod+Ctrl+3 move container to workspace $ws3 -bindsym $mod+Ctrl+4 move container to workspace $ws4 -bindsym $mod+Ctrl+5 move container to workspace $ws5 -bindsym $mod+Ctrl+6 move container to workspace $ws6 -bindsym $mod+Ctrl+7 move container to workspace $ws7 -bindsym $mod+Ctrl+8 move container to workspace $ws8 -bindsym $mod+Ctrl+9 move container to workspace $ws9 - -# Move to workspace with focused container -bindsym $mod+Shift+1 move container to workspace $ws1; workspace $ws1 -bindsym $mod+Shift+2 move container to workspace $ws2; workspace $ws2 -bindsym $mod+Shift+3 move container to workspace $ws3; workspace $ws3 -bindsym $mod+Shift+4 move container to workspace $ws4; workspace $ws4 -bindsym $mod+Shift+5 move container to workspace $ws5; workspace $ws5 -bindsym $mod+Shift+6 move container to workspace $ws6; workspace $ws6 -bindsym $mod+Shift+7 move container to workspace $ws7; workspace $ws7 -bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8 -bindsym $mod+Shift+9 move container to workspace $ws9; workspace $ws9 - -# reload the configuration file -bindsym $mod+Shift+c reload -# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) -bindsym $mod+Shift+r restart -# exit i3 (logs you out of your X session) -bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'" - -# nautilus -# bindsym $mod+e exec --no-startup-id nautilus - -#external screen - -#both -bindsym $mod+b exec --no-startup-id ~/.screenlayout/affiancati.sh -#my -bindsym $mod+m exec --no-startup-id ~/.screenlayout/only_laptop.sh -#only ext -bindsym $mod+n exec --no-startup-id ~/.screenlayout/only_external.sh -# resize window (you can also use the mouse for that) -mode "resize" { - # These bindings trigger as soon as you enter the resize mode - - # Pressing left will shrink the window’s width. - # Pressing right will grow the window’s width. - # Pressing up will shrink the window’s height. - # Pressing down will grow the window’s height. - bindsym j resize shrink width 10 px or 10 ppt - bindsym k resize grow height 10 px or 10 ppt - bindsym l resize shrink height 10 px or 10 ppt - bindsym semicolon resize grow width 10 px or 10 ppt - - # same bindings, but for the arrow keys - bindsym Left resize shrink width 10 px or 10 ppt - bindsym Down resize grow height 10 px or 10 ppt - bindsym Up resize shrink height 10 px or 10 ppt - bindsym Right resize grow width 10 px or 10 ppt - - # back to normal: Enter or Escape or $mod+r - bindcode 104 mode "default" - bindsym Escape mode "default" - bindsym $mod+r mode "default" -} - -bindsym $mod+r mode "resize" - -# Start i3bar to display a workspace bar (plus the system information i3status -# finds out, if available) -# bar { -# i3bar_command $HOME/.config/polybar/launch.sh -# -# #status_command i3status -# } - -# Screen brightness controls with notification -bindsym XF86MonBrightnessUp exec "light -A 5; notify-send 'brightness up'" -bindsym XF86MonBrightnessDown exec "light -U 5; notify-send 'brightness down'" - -bindsym XF86AudioPlay exec playerctl play -bindsym XF86AudioPause exec playerctl pause -bindsym XF86AudioNext exec playerctl next -bindsym XF86AudioPrev exec playerctl previous - -# Pulse Audio controls -bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5% #increase sound volume -bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5% #decrease sound volume -bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle # mute sound - -#exec_always --no-startup-id $HOME/.config/polybar/launch.sh -bindsym $mod+Tab workspace back_and_forth - - -exec --no-startup-id setxkbmap -option compose:ralt -exec --no-startup-id xinput set-prop 9 280 1 -exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 & eval $(gnome-keyring-daemon -s --components=pkcs11,secrets,ssh,gpg) & - -bindsym --release $mod+p exec maim -s --format=png /dev/stdout | xclip -selection clipboard -t image/png -i -bindsym $mod+c exec --no-startup-id chromium -exec --no-startup-id feh --bg-scale /home/nicomazz/Pictures/giau_pass_italy_alps_118374_1920x1080.jpg - -# switch to workspace with urgent window automatically -for_window [urgent=latest] focus - -for_window [class="(?i)pamac"] floating enable -for_window [class="Crow"] floating enable - -# move the currently focused window to the scratchpad -bindsym $mod+Shift+minus move scratchpad - -# Show the next scratchpad window or hide the focused scratchpad window. -# If there are multiple scratchpad windows, this command cycles through them. -bindsym $mod+minus scratchpad show -'' diff --git a/polybar.conf.nix b/polybar.conf.nix deleted file mode 100644 index 8e4d127..0000000 --- a/polybar.conf.nix +++ /dev/null @@ -1,473 +0,0 @@ -# https://pastebin.com/AreP6tnU; -rec { - colors = { - background = "#121212"; - background-alt = "#282828"; - - foreground = "#f9f5d7"; - foreground-alt = "#7c6f64"; - primary = "#ffb52a"; - secondary = "#e60053"; - alert = "#cc241d"; - }; - - bar.primary = { - width = "100%"; - height = "26"; - - radius = "0.0"; - fixed-center = "true"; - bottom = "true"; - - background = "${colors.background}"; - foreground = "${colors.foreground}"; - - line-size = "0"; - line-color = "#f00"; - - border-size = "0"; - border-color = "#a89984"; - - padding-left = "2"; - padding-right = "2"; - - module-margin-left = "1"; - module-margin-right = "1"; - - "#font-0" = "fixed:pixelsize=9"; - "#font-1" = "unifont:fontformat=truetype:size=8:antialias=false"; - "#font-2" = "siji:pixelsize=10"; - "#font-3" = "Material Icons:size=13"; - "#font-4" = "Font Awesome 5 Free Solid:size=10"; - "#font-5" = "Font Awesome 5 Free Regular:size=10"; - "#font-6" = "Font Awesome 5 Brands:size=11"; - "#font-7" = "Material-Design-Iconic-Font:size=13"; - font-0 = "Plex Custom:size=9.5"; - font-1 = "Material\\-Design\\-Iconic\\-Font:size=12"; - font-2 = "Font Awesome 5 Free Solid:size=10"; - font-3 = "Font Awesome 5 Free Regular:size=10"; - font-4 = "BlexMono NF:size=14"; - font-5 = "Font Awesome 5 Brands:size=11"; - - modules-left = "time memory cpu mpd"; - modules-center = "i3"; - modules-right = "battery pulseaudio wlan eth"; - - tray-position = "right"; - tray-padding = "3"; - tray-background = "${colors.background}"; - tray-maxsize = "22"; - tray-scale = "1.1"; - - wm-restack = "i3"; - - cursor-click = "pointer"; - cursor-scroll = "ns-resize"; - - enable-ipc = "true"; - }; - - bar.secondary = { - width = "100%"; - height = "25"; - - radius = "0.0"; - fixed-center = "true"; - bottom = "true"; - - background = "${colors.background}"; - foreground = "${colors.foreground}"; - - line-size = "0"; - line-color = "#f00"; - - border-size = "0"; - - border-color = "#a89984"; - - padding-left = "3"; - padding-right = "3"; - - module-margin-left = "1"; - module-margin-right = "1"; - - font-0 = "Plex Custom:size=9.5"; - font-1 = "Material-Design-Iconic-Font:size=13"; - font-2 = "Font Awesome 5 Free Solid:size=10"; - font-3 = "Font Awesome 5 Free Regular:size=10"; - font-4 = "BlexMono NF:size=14"; - font-5 = "Font Awesome 5 Brands:size=11"; - - modules-left = "time memory cpu mpd"; - modules-center = "i3"; - modules-right = "battery pulseaudio wlan eth"; - - tray-position = "none"; - - wm-restack = "i3"; - - cursor-click = "pointer"; - cursor-scroll = "ns-resize"; - - enable-ipc = "true"; - }; - - module.xkeyboard = { - type = "internal/xkeyboard"; - blacklist-0 = "num lock"; - - format-prefix = " "; - format-prefix-foreground = "${colors.foreground-alt}"; - format-prefix-underline = "${colors.secondary}"; - - label-layout = "%layout%"; - label-layout-underline = "${colors.secondary}"; - - label-indicator-padding = "2"; - label-indicator-margin = "1"; - label-indicator-background = "${colors.secondary}"; - label-indicator-underline = "${colors.secondary}"; - }; - - module.filesystem = { - type = "internal/fs"; - interval = "25"; - - mount-0 = "/"; - - label-mounted = "%{F#0a81f5}%mountpoint%%{F-}: %percentage_used%%"; - label-unmounted = "%mountpoint% not mounted"; - label-unmounted-foreground = "${colors.foreground-alt}"; - }; - - module.bspwm = { - type = "internal/bspwm"; - - label-focused = "%index%"; - label-focused-background = "${colors.background-alt}"; - label-focused-underline= "${colors.primary}"; - label-focused-padding = "2"; - - label-occupied = "%index%"; - label-occupied-padding = "2"; - - label-urgent = "%index%!"; - label-urgent-background = "${colors.alert}"; - label-urgent-padding = "2"; - - label-empty = "%index%"; - label-empty-foreground = "${colors.foreground-alt}"; - label-empty-padding = "2"; - }; - - module.i3 = rec { - type = "internal/i3"; - format = " "; - index-sort = "true"; - wrapping-scroll = "false"; - - pin-workspaces = "true"; - - label-mode-padding = "1"; - label-mode-foreground = "#000"; - label-mode-background = "${colors.primary}"; - - label-focused = "%index%"; - label-focused-background = "${colors.background-alt}"; - label-focused-foreground = "${colors.foreground}"; - label-focused-underline= "${colors.primary}"; - label-focused-padding = "1"; - - label-unfocused = "%index%"; - label-unfocused-padding = "1"; - - label-visible = "%index%"; - label-visible-background = "${label-focused-background}"; - label-visible-foreground = "${label-focused-foreground}"; - label-visible-underline = "${label-focused-underline}"; - label-visible-padding = "${label-focused-padding}"; - - label-urgent = "%index%"; - label-urgent-background = "${colors.alert}"; - label-urgent-padding = "1"; - }; - - module.mpd = { - type = "internal/mpd"; - label-song-background = "${colors.foreground}"; - label-song-foreground = "${colors.background}"; - - label-song-padding = "1"; - format-playing = " "; - format-paused = " "; - format-stopped = ""; - label-song = "ﱘ %title%"; - - port=6000; - - icon-prev = ""; - icon-stop = ""; - icon-play = ""; - icon-pause = ""; - icon-next = ""; - - label-song-maxlen = "15"; - label-song-ellipsis = "true"; - }; - - module.xbacklight = { - type = "internal/xbacklight"; - - format = "