diff --git a/README.md b/README.md index 35d7626..926ba17 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,8 @@ home-manager switch --flake .#work ### virtual machines +With a Niri desktop (requires host OpenGL support): + ``` nix build -L '.#nixosConfigurations.vm.config.system.build.vmWithDisko' ./result/bin/disko-vm diff --git a/dots/.bin/screen-temperature b/dots/.bin/screen-temperature deleted file mode 100755 index 69cf020..0000000 --- a/dots/.bin/screen-temperature +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/bin/env python - -import subprocess -import sys - -DEFAULT_TEMPERATURE = 3500 - -try: - with open("/tmp/temperature", "r") as temp_file: - current_temperature = int(temp_file.read()) -except FileNotFoundError: - current_temperature = DEFAULT_TEMPERATURE - -# If no argument is given print the current temperature -if len(sys.argv) == 1: - print(current_temperature) - sys.exit(0) -elif len(sys.argv) != 2: - print( - """ -Usage: - - screen-temperature - print current temperature - - screen-temperature - set screen temperature to - - screen-temperature <+|-> - increase or decrease screen temperature by -""" - ) - sys.exit(1) - -temperature_change = sys.argv[1] - -if temperature_change.startswith("+"): - new_temperature = current_temperature + int(temperature_change[1:]) -elif temperature_change.startswith("-"): - new_temperature = current_temperature - int(temperature_change[1:]) -else: - new_temperature = int(temperature_change) - -try: - subprocess.run(["redshift", "-O", str(new_temperature), "-P"], check=True) - with open("/tmp/temperature", "w") as temp_file: - temp_file.write(str(new_temperature) + "\n") - # Send notification - subprocess.run(["notify-send", str(new_temperature) + "K"]) -except subprocess.CalledProcessError: - print("Error: could not set screen temperature.") - sys.exit(1) diff --git a/dots/.config/X11/Xresources b/dots/.config/X11/Xresources deleted file mode 100644 index 13e6900..0000000 --- a/dots/.config/X11/Xresources +++ /dev/null @@ -1 +0,0 @@ -Xcursor.size: 16 diff --git a/dots/.config/X11/xinitrc b/dots/.config/X11/xinitrc deleted file mode 100644 index cd2a1b7..0000000 --- a/dots/.config/X11/xinitrc +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh - -userresources=$HOME/.config/X11/Xresources -usermodmap=$HOME/.config/X11/Xmodmap -sysresources=/etc/X11/xinit/.Xresources -sysmodmap=/etc/X11/xinit/.Xmodmap - -if [ -f $sysresources ]; then xrdb -merge $sysresources; fi -if [ -f $sysmodmap ]; then xmodmap $sysmodmap; fi -if [ -f "$userresources" ]; then xrdb -merge "$userresources"; fi -if [ -f "$usermodmap" ]; then xmodmap "$usermodmap"; fi - -# start some nice programs -if [ -d /etc/X11/xinit/xinitrc.d ] ; then - for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do - [ -x "$f" ] && . "$f" - done - unset f -fi - -# ______________________________ - -xset -b # disable bell -xset r rate 200 30 # adjust typematic delay & rate - -# Shared -xbindkeys -f "$HOME"/.config/xbindkeys/config -xbanish & -redshift -o -O "$(cat /tmp/temperature)" & # Run redshift in one shot mode - -# DWM -# dwmblocks & -# udiskie & -# # No compositor -# # xsetroot -solid "#0a0a0a" -# # With compositor -# # hsetroot -solid "#0a0a0a" -# # picom & -# # execute dwm in a loop -# while true; do -# dwm 2> ~/.dwm.log -# done - -# Openbox -# # udiskie --tray & -# # plank & -# # picom & -# # hsetroot -solid "#555555" -# # openbox - -# Xmonad -xsetroot -solid "#0a0a0a" -xsetroot -cursor_name left_ptr -picom & -trayer --edge top --align right --SetDockType true --SetPartialStrut true \ - --expand true --width 10 --transparent true --tint 0x111111 --height 25 & -exec xmonad diff --git a/dots/.config/picom/picom.conf b/dots/.config/picom/picom.conf deleted file mode 100644 index 1fbcb0f..0000000 --- a/dots/.config/picom/picom.conf +++ /dev/null @@ -1,44 +0,0 @@ -backend = "glx"; -glx-no-stencil = false; -glx-copy-from-font = false; -glx-no-rebind-pixmap = true; - -shadow = true; -shadow-radius = 16; -shadow-opacity = 0.5; -shadow-offset-x = -16; -shadow-offset-y = -16; -shadow-color = "#000000" - -active-opacity = 1; -inactive-opacity = 0.62; -frame-opacity = 1; -inactive-opacity-override = false; - -fading = true; -fade-in-step = 0.02; -fade-out-step = 0.02; -fade-delta = 4 - -shadow-exclude = ["class_g = 'Rofi'", "class_g = 'trayer'"]; -focus-exclude = ["class_g = 'Rofi'", "class_g = 'albert'", "class_g = 'trayer'"]; -blur-background-exclude = ["class_g = 'Rofi'", "class_g = 'albert'", "class_g = 'trayer'"]; - -blur: { - method = "dual_kawase"; - strength = 8; - background = true; - background-frame = true; - background-fixed = false; -} - -wintypes: -{ - dock = { shadow = false; }; - dnd = { shadow = false; }; - tooltip = { shadow = false; }; - menu = { opacity = false; }; - dropdown_menu = { opacity = false; }; - popup_menu = { opacity = false; }; - utility = { opacity = false; }; -}; diff --git a/dots/.config/polybar/config.ini b/dots/.config/polybar/config.ini deleted file mode 100644 index 6c62549..0000000 --- a/dots/.config/polybar/config.ini +++ /dev/null @@ -1,159 +0,0 @@ -[colors] -background = #cccccc -background-alt = #aaaaaa -foreground = #111111 -primary = #111111 -secondary = #555555 -disabled = #888888 - -[bar/example] -height = 16pt -radius = 0 - -background = ${colors.background} -foreground = ${colors.foreground} - -padding-left = 0pt -module-margin = 1 - -separator = " " -separator-foreground = ${colors.disabled} - -font-0 = Iosevka Term SS08:size=12;4 - -modules-left = xworkspaces xwindow -modules-center = project pomo -modules-right = filesystem pulseaudio memory cpu wlan eth date dunst-snooze xkeyboard battery - -cursor-click = pointer -cursor-scroll = ns-resize - -enable-ipc = true - -[module/xworkspaces] -type = internal/xworkspaces - -label-active = %name% -label-active-background = ${colors.background-alt} -label-active-underline= ${colors.primary} -label-active-padding = 4pt - -label-occupied = %name% -label-occupied-padding = 4pt - -label-urgent = %name% -label-urgent-background = ${colors.alert} -label-urgent-padding = 4pt - -label-empty = %name% -label-empty-foreground = ${colors.disabled} -label-empty-padding = 4pt - -[module/xwindow] -type = internal/xwindow -label = %title:0:60:...% - -[module/filesystem] -type = internal/fs -interval = 25 - -mount-0 = / - -label-mounted = %mountpoint% %percentage_used%% -label-unmounted = %mountpoint% not mounted -label-unmounted-foreground = ${colors.disabled} - -[module/pulseaudio] -type = internal/pulseaudio - -format-volume-prefix = "VOL " -format-volume-prefix-foreground = ${colors.primary} -format-volume = - -label-volume = %percentage%% - -label-muted = muted -label-muted-foreground = ${colors.disabled} - -[module/memory] -type = internal/memory -interval = 2 -format-prefix = "RAM " -format-prefix-foreground = ${colors.primary} -label = %percentage_used:2%% - -[module/cpu] -type = internal/cpu -interval = 2 -format-prefix = "CPU " -format-prefix-foreground = ${colors.primary} -label = %percentage:2%% - -[network-base] -type = internal/network -interval = 5 -format-connected = -format-disconnected = -label-disconnected = %ifname% disconnected - -[module/wlan] -inherit = network-base -interface-type = wireless -label-connected = %ifname% %local_ip% %essid% - -[module/eth] -inherit = network-base -interface-type = wired -label-connected = %ifname% %local_ip% - -[module/date] -type = internal/date -interval = 1 -date = W%V %d %b %H:%M -date-alt = %Y-%m-%d %H:%M:%S -label = %date% -label-foreground = ${colors.primary} - -[module/pomo] -type = custom/script -exec = ~/.bin/sb-pomo -label-background = #fff -interval = 1 - -[module/focus-mode] -type = custom/script -exec = [[ -f /tmp/focus-mode ]] && echo "Focus" -label-background = #af0 -interval = 1 - -[module/project] -type = custom/script -exec = cat ~/.project -label-background = #fa0 -interval = 1000 - -[module/xkeyboard] -type = internal/xkeyboard -label-layout = %name% %variant% -blacklist-0 = num lock -blacklist-1 = scroll lock - -[module/battery] -type = internal/battery -full-at = 99 -low-at = 20 -battery = BAT0 -adapter = ADP1 -poll-interval = 5 -label-charging = .%percentage%++ -format-low = -label-discharging = .%percentage%-- %time% %consumption%W -animation-low-0 = ! -animation-low-1 = . -animation-low-framerate = 200 - -[settings] -screenchange-reload = true -pseudo-transparency = true - -; vim:ft=dosini diff --git a/dots/.config/polybar/config.ini.example b/dots/.config/polybar/config.ini.example deleted file mode 100644 index 1ebf228..0000000 --- a/dots/.config/polybar/config.ini.example +++ /dev/null @@ -1,188 +0,0 @@ -[colors] -background = #cccccc -background-alt = #aaaaaa -foreground = #111111 -primary = #111111 -secondary = #555555 -alert = #A54242 -disabled = #888888 - -[bar/example] -height = 16pt -radius = 0 - -background = ${colors.background} -foreground = ${colors.foreground} - -line-size = 0pt - -border-size = 0pt -border-color = #00000000 - -padding-left = 0pt -padding-right = 4pt -module-margin = 1 - -separator = " " -separator-foreground = ${colors.disabled} - -font-0 = Iosevka Term SS08:size=12;4 - -modules-left = xworkspaces xwindow -modules-center = project pomo -modules-right = filesystem pulseaudio memory cpu wlan eth date dunst-snooze xkeyboard battery - -cursor-click = pointer -cursor-scroll = ns-resize - -enable-ipc = true - -[module/xworkspaces] -type = internal/xworkspaces - -label-active = %name% -label-active-background = ${colors.background-alt} -label-active-underline= ${colors.primary} -label-active-padding = 4pt - -label-occupied = %name% -label-occupied-padding = 4pt - -label-urgent = %name% -label-urgent-background = ${colors.alert} -label-urgent-padding = 4pt - -label-empty = %name% -label-empty-foreground = ${colors.disabled} -label-empty-padding = 4pt - -enable-scroll = false -enable-click = false - -[module/xwindow] -type = internal/xwindow -label = %title:0:60:...% - -[module/filesystem] -type = internal/fs -interval = 25 - -mount-0 = / - -label-mounted = %mountpoint% %percentage_used%% -label-unmounted = %mountpoint% not mounted -label-unmounted-foreground = ${colors.disabled} - -[module/pulseaudio] -type = internal/pulseaudio - -format-volume-prefix = "VOL " -format-volume-prefix-foreground = ${colors.primary} -format-volume = - -label-volume = %percentage%% - -label-muted = muted -label-muted-foreground = ${colors.disabled} - -[module/memory] -type = internal/memory -interval = 2 -format-prefix = "RAM " -format-prefix-foreground = ${colors.primary} -label = %percentage_used:2%% - -[module/cpu] -type = internal/cpu -interval = 2 -format-prefix = "CPU " -format-prefix-foreground = ${colors.primary} -label = %percentage:2%% - -[network-base] -type = internal/network -interval = 5 -format-connected = -format-disconnected = -label-disconnected = %ifname% disconnected - -[module/wlan] -inherit = network-base -interface-type = wireless -label-connected = %ifname% %local_ip% %essid% - -[module/eth] -inherit = network-base -interface-type = wired -label-connected = %ifname% %local_ip% - -[module/date] -type = internal/date -interval = 1 -date = W%V %d %b %H:%M -date-alt = %Y-%m-%d %H:%M:%S -label = %date% -label-foreground = ${colors.primary} - -; [module/dunst-snooze] -; type = custom/script -; exec = ~/.bin/polybar/polybar-scripts/dunst-snooze/dunst-snooze.sh -; interval = 1 -; click-left = ~/.bin/polybar/polybar-scripts/dunst-snooze/dunst-snooze.sh --toggle & - -; [module/info-camera-mic] -; type = custom/script -; exec = ~.bin/polybar/polybar-scripts/info-camera-mic/info-camera-mic.sh -; interval = 1 - -[module/player-mpris] -type = custom/script -exec = ~/.bin/polybar/polybar-scripts/player-mpris-simple/player-mpris-simple.sh -interval = 1 -click-left = playerctl previous & -click-right = playerctl next & -click-middle = playerctl play-pause & - -[module/pomo] -type = custom/script -exec = ~/.bin/sb-pomo -label-background = #fa0 -interval = 1 - -[module/focus-mode] -type = custom/script -exec = [[ -f /tmp/focus-mode ]] && echo "Focus" -label-background = #af0 -interval = 1 - -[module/project] -type = custom/script -exec = cat ~/.project -label-background = #fa0 -interval = 1000 - -[module/xkeyboard] -type = internal/xkeyboard -label-layout = %name% %variant% -blacklist-0 = num lock -blacklist-1 = scroll lock - -[module/battery] -type = internal/battery -full-at = 99 -low-at = 20 -battery = BAT0 -adapter = ADP1 -poll-interval = 5 -label-charging = .%percentage%++ -format-low = -label-discharging = .%percentage%-- %time% %consumption%W -animation-low-0 = ! -animation-low-1 = . -animation-low-framerate = 200 - -[settings] -screenchange-reload = true -pseudo-transparency = true - -; vim:ft=dosini diff --git a/dots/.config/systemd/user/geoclue-agent.service b/dots/.config/systemd/user/geoclue-agent.service deleted file mode 100644 index 9f2adc0..0000000 --- a/dots/.config/systemd/user/geoclue-agent.service +++ /dev/null @@ -1,8 +0,0 @@ -[Unit] -Description=redshift needs to get a (geo)clue - -[Service] -ExecStart=/usr/lib/geoclue-2.0/demos/agent - -[Install] -WantedBy=default.target diff --git a/dots/.config/xbindkeys/config b/dots/.config/xbindkeys/config deleted file mode 100644 index 8c603eb..0000000 --- a/dots/.config/xbindkeys/config +++ /dev/null @@ -1,20 +0,0 @@ -# Headphone controls for spotify -"playerctl --player=ncspot next --player=spotify next" - m:0x0 + c:171 - XF86AudioNext -"playerctl --player=ncspot previous --player=spotify previous" - m:0x0 + c:173 - XF86AudioPrev -"playerctl --player=ncspot pause --player=spotify pause" - m:0x0 + c:209 - XF86AudioPause -"playerctl --player=ncspot play --player=spotify play" - m:0x0 + c:208 - XF86AudioPlay - -"xrandr --auto" - m:0x0 + c:76 # F10 - -"feh ~/.vortex-core/l0.png" - m:0x0 + c:138 - SunProps diff --git a/dots/.xmonad/xmonad.hs b/dots/.xmonad/xmonad.hs deleted file mode 100644 index 4d10f41..0000000 --- a/dots/.xmonad/xmonad.hs +++ /dev/null @@ -1,303 +0,0 @@ --- {{{ Imports - -import Control.Monad (liftM2) -import Data.Map qualified as M -import XMonad -import XMonad.Actions.CopyWindow (copyToAll, killAllOtherCopies) -import XMonad.Actions.FloatSnap -import XMonad.Actions.Submap -import XMonad.Hooks.EwmhDesktops -import XMonad.Hooks.ManageDocks -import XMonad.Hooks.ManageHelpers -import XMonad.Hooks.OnPropertyChange (onXPropertyChange) -import XMonad.Hooks.StatusBar -import XMonad.Hooks.StatusBar.PP -import XMonad.Hooks.WindowSwallowing (swallowEventHook) -import XMonad.Layout.CenteredIfSingle -import XMonad.Layout.IndependentScreens -import XMonad.Layout.LayoutHints (hintsEventHook, layoutHints) -import XMonad.Layout.PerScreen -import XMonad.Layout.PerWorkspace -import XMonad.Layout.Renamed -import XMonad.Layout.Spacing -import XMonad.Layout.Tabbed -import XMonad.Layout.ThreeColumns -import XMonad.StackSet qualified as W -import XMonad.Util.EZConfig -import XMonad.Util.Hacks qualified as Hacks -import XMonad.Util.Loggers -import XMonad.Util.Paste - --- }}} - --- Statusbar {{{ - -pp :: PP -pp = - def - { ppSep = tertiaryColor " ", - ppCurrent = brackitify, - ppHidden = secondaryColor, - ppHiddenNoWindows = tertiaryColor, - ppUrgent = red . wrap (yellow "!") (yellow "!"), - ppLayout = id, - ppTitle = shorten 80, - ppTitleSanitize = xmobarStrip, - ppOrder = \[workspaces, layout, windows, _] -> [layout], - ppExtras = [logTitles formatFocused formatUnfocused] - } - where - brackitify = wrap "〈" "〉" - formatFocused = secondaryColor . ppWindow - formatUnfocused = tertiaryColor . ppWindow - - ppWindow = xmobarRaw . (\w -> if null w then "Untitled" else w) . shorten 16 - - primaryColor = xmobarColor "#000000" "" - secondaryColor = xmobarColor "#333333" "" - tertiaryColor = xmobarColor "#555555" "" - yellow = xmobarColor "#ff0" "" - red = xmobarColor "#ff5555" "" - --- }}} - --- Workspaces & screens {{{ - --- Shift to workspace and view workspace -shiftAndView = doF . liftM2 (.) W.greedyView W.shift - --- }}} - --- Hooks {{{ - --- startupHook {{{ -myStartupHook = - do - spawn "killall -q polybar; parallel ::: 'polybar -r top' 'polybar -r bottom'" - --- }}} - --- manageHook {{{ -myManageHook :: ManageHook -myManageHook = - composeAll - [ isDialog --> doCenterFloat, - className =? "Zathura" --> doShift "1_info", - className =? "firefox" --> shiftAndView "1_www", - className =? "firefoxdeveloperedition" --> shiftAndView "1_www", - className =? "Anki" --> shiftAndView "1_etc", - className =? "Obsidian" --> shiftAndView "1_etc", - className =? "Launcher" --> doRectFloat (W.RationalRect 0.05 0.4 0.9 0.5), - className =? "Zettelkasten" --> doRectFloat (W.RationalRect 0.05 0.4 0.9 0.5), - className =? "Calculator" --> doCenterFloat, - className =? "feh" --> doCenterFloat, - -- Center matplotlib and prevent focus stealing - -- className =? "matplotlib" --> doRectFloat (W.RationalRect 0.5 0.5 0.5 0.5), - className =? "matplotlib" --> doCenterFloat, - className =? "Matplotlib" --> doCenterFloat, - className =? "Xournalpp" --> doRectFloat (W.RationalRect 0.5 0.5 0.5 0.5), - className =? "KeePassXC" --> doRectFloat (W.RationalRect 0.1 0.1 0.8 0.8), - className =? "flameshot" --> doRectFloat (W.RationalRect 0.1 0.1 0.8 0.8) - ] --- }}} - --- dynamicManageHook {{{ -myDynamicManageHook :: ManageHook -myDynamicManageHook = - composeAll - [ - title =? "Zettelkasten — Firefox Developer Edition" --> doShift "1_sh" - ] --- }}} - --- layoutHook {{{ -myLayoutHook = - avoidStruts $ - smartSpacingWithEdge 4 $ - layoutHints $ - onWorkspace "1_sh" (Tall nmaster delta 0.8) $ - ifWider smallWidth (tWide ||| c3mWide ||| f) t - where - smallWidth = 1920 - - -- Tall layouts - tWide = - centeredIfSingle 0.62 1 t - t = - named "[]+" $ - Tall nmaster delta ratio - - -- Column layouts - c3mWide = - centeredIfSingle 0.62 1 c3m - c3m = - named "[|]" $ - ThreeColMid nmaster delta ratio - - -- Fullscreen layouts - f = named "[+]" Full - - -- Modifiers - named n = renamed [Replace n] - nmaster = 1 - ratio = 0.62 - delta = 4 / 100 --- }}} - --- handleEventHook {{{ -myHandleEventHook = - handleEventHook def - -- See window swallowing (https://hackage.haskell.org/package/xmonad-contrib-0.18.0/docs/XMonad-Hooks-WindowSwallowing.html) - <> onXPropertyChange "WM_NAME" myDynamicManageHook - <> Hacks.windowedFullscreenFixEventHook - <> hintsEventHook --- }}} - --- }}} - --- Main config {{{ - -myWorkspaces = [ "sh", "www", "dev", "info", "etc" ] -myWorkspaceKeys = [ "a", "s", "d", "f", "g" ] -mySharedWorkspaces = [ "shared" ] -mySharedWorkspaceKeys = [ "1" ] --- Use Win key instead of Alt -myModMask = mod4Mask - -myConfig = - def - { terminal = "kitty", - modMask = myModMask, - workspaces = withScreen 1 myWorkspaces ++ withScreen 2 mySharedWorkspaces, - -- Styling - focusedBorderColor = "#000", - normalBorderColor = "#0000", - borderWidth = 4, - -- Hooks - startupHook = myStartupHook, - manageHook = myManageHook <+> manageHook def, - layoutHook = myLayoutHook, - handleEventHook = myHandleEventHook - } - `removeKeysP` myRemoveKeys - `additionalKeysP` myKeys - `additionalMouseBindings` myMouseBindings - --- }}} - --- Keybindings {{{ - --- Keybindings to be added/overridden -myKeys :: [(String, X ())] -myKeys = - [ ("M- s", unfloatFocusedW), - ("M- ", nextLayout), -- Cycle through layouts - ("M- S-", defaultLayout), -- - ("M- M-", nextLayout), -- ..fat finger - ("M- M-S-", defaultLayout), -- - ("", spawnKeepassXC), - ("M-p", spawnLauncher), - ("M-w", spawnWindowSwitcher), - ("M-S-w", spawnWifiMenu), - ("", pasteSelection), - ("", printScreen), - ("", raiseVol), -- Audio volume & playback - ("", lowerVol), -- - ("", mute), -- - ("M-", nextTrack), -- - ("M-", prevTrack), -- - ("M-", play), -- - ("M-", pause), -- - ("", brighten), -- Brightness & hue controls - ("", dim), -- - ("S-", warm), -- - ("S-", cool), -- - ("M-S-", resetTemp), -- - ("M-S-", resetTemp), -- - ("M-S-b", fullscreenBrowser), - ("", spawn "systemctl suspend"), --TODO: Only enable this on laptop - ("M-c", windows copyToAll), - ("M-S-c", killAllOtherCopies), - ("M-S-", kill) - ] ++ - [ (m ++ k, windows $ f w) | - (m, f) <- zip ["M-", "M-S-"] - [W.greedyView, W.shift], - (k, w) <- zip myWorkspaceKeys - (withScreen 1 myWorkspaces) - ++ zip mySharedWorkspaceKeys - (withScreen 2 mySharedWorkspaces) - ] - -zipKeyPrefixes :: [String] -> [String] -> [String] -zipKeyPrefixes prefixes keys = [prefix ++ key | prefix <- prefixes, key <- keys] - --- Keybindings to be removed -myRemoveKeys :: [String] -myRemoveKeys = "M-S-q" : zipKeyPrefixes ["M-", "M-S-"] (map show [ 1..5 ]) - -myMouseBindings = - [ - ((mod4Mask, button1), (\w -> focus w >> mouseMoveWindow w >> afterDrag (snapMagicMove (Just 50) (Just 50) w))) - , ((mod4Mask .|. shiftMask, button1), (\w -> focus w >> mouseMoveWindow w >> afterDrag (snapMagicResize [L,R,U,D] (Just 50) (Just 50) w))) - , ((mod4Mask, button3), (\w -> focus w >> mouseResizeWindow w >> afterDrag (snapMagicResize [R,D] (Just 50) (Just 50) w))) - ] - -unfloatFocusedW :: X () -unfloatFocusedW = withFocused $ windows . W.sink - -myStartupHook :: X () -nextLayout = sendMessage NextLayout - -defaultLayout :: X () -defaultLayout = setLayout $ Layout myLayoutHook - -spawnKeepassXC :: X () -spawnKeepassXC = spawn "keepassxc" - -fullscreenBrowser :: X () -fullscreenBrowser = spawn "firefox --fullscreen" - -spawnWindowSwitcher = spawn "rofi -show window -show-icons" - -spawnWifiMenu = spawn "rofi -show wifi -modi \"wifi:iwdrofimenu\"" - -spawnLauncher, spawnClipManager :: X () -spawnLauncher = spawn "rofi -show drun -show-icons" -spawnClipManager = spawn "rofi -modi 'clipboard:greenclip print' -show clipboard -run-command '{cmd}'" - -printScreen :: X () -printScreen = spawn "flameshot gui" - -raiseVol, lowerVol, mute :: X () -raiseVol = spawn "pactl set-sink-volume @DEFAULT_SINK@ +5%" -lowerVol = spawn "pactl set-sink-volume @DEFAULT_SINK@ -5%" -mute = spawn "pactl set-sink-mute @DEFAULT_SINK@ toggle" - -nextTrack, prevTrack, play, pause :: X () -nextTrack = spawn "playerctl next" -prevTrack = spawn "playerctl previous" -play = spawn "playerctl play" -pause = spawn "playerctl pause" - -brighten, dim, warm, cool, resetTemp :: X () -brighten = spawn "brightnessctl set 20+" -dim = spawn "brightnessctl set 20-" -warm = spawn "screen-temperature +50" -cool = spawn "screen-temperature -50" -resetTemp = spawn "screen-temperature 3000" - --- }}} - --- Main {{{ - -main :: IO () -main = - do xmonad - $ ewmh - $ withEasySB - (statusBarProp "polybar" $ pure pp) - defToggleStrutsKey - myConfig - --- }}} diff --git a/home/modules/shell/bash-aliases.nix b/home/modules/shell/bash-aliases.nix index 0d81941..28b8b09 100644 --- a/home/modules/shell/bash-aliases.nix +++ b/home/modules/shell/bash-aliases.nix @@ -47,8 +47,4 @@ pl = "swipl"; py = "python"; r = "R"; - - azerty = "setxkbmap be"; - qwerty = "setxkbmap us"; - cole = "setxkbmap us -variant colemak"; } diff --git a/hosts/vm/default.nix b/hosts/vm/default.nix index 840a4e0..4b97789 100644 --- a/hosts/vm/default.nix +++ b/hosts/vm/default.nix @@ -21,7 +21,8 @@ in anki.enable = true; audio.enable = true; bootloader.enable = true; - desktop.x.enable = true; + desktop.niri.enable = true; + desktop.ly.enable = true; git.enable = true; keyboard.enable = true; localization.enable = true; @@ -49,9 +50,11 @@ in cores = 8; memorySize = 16384; qemu.options = [ + # "-nographic" "-enable-kvm" "-cpu host" - "-nographic" + "-device virtio-vga-gl" + "-display gtk,gl=on" ]; }; }; diff --git a/modules/x/default.nix b/modules/x/default.nix deleted file mode 100644 index 053e4be..0000000 --- a/modules/x/default.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ lib, config, ... }: - -{ - options.desktop.x.enable = lib.mkEnableOption "xmonad desktop"; - - config = lib.mkIf config.desktop.x.enable { - services.xserver.windowManager.xmonad = { - enable = true; - enableContribAndExtras = true; - config = builtins.readFile ../../dots/.xmonad/xmonad.hs; - }; - - services.xserver = { - enable = true; - xkb.layout = "us"; - xkb.variant = ""; - }; - }; -}