feat: substitute remaining Xorg for Wayland

This commit is contained in:
2026-09-28 23:04:32 +02:00
parent db3ffae41e
commit 610993dc8b
13 changed files with 7 additions and 857 deletions
+2
View File
@@ -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
-52
View File
@@ -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 <temperature>
set screen temperature to <temperature>
screen-temperature <+|-><temperature>
increase or decrease screen temperature by <temperature>
"""
)
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)
-1
View File
@@ -1 +0,0 @@
Xcursor.size: 16
-57
View File
@@ -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
-44
View File
@@ -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; };
};
-159
View File
@@ -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>
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 = <label-connected>
format-disconnected = <label-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-low><animation-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
-188
View File
@@ -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>
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 = <label-connected>
format-disconnected = <label-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-low><animation-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
@@ -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
-20
View File
@@ -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
-303
View File
@@ -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-<Space> s", unfloatFocusedW),
("M-<Space> <Space>", nextLayout), -- Cycle through layouts
("M-<Space> S-<Space>", defaultLayout), --
("M-<Space> M-<Space>", nextLayout), -- ..fat finger
("M-<Space> M-S-<Space>", defaultLayout), --
("<F8>", spawnKeepassXC),
("M-p", spawnLauncher),
("M-w", spawnWindowSwitcher),
("M-S-w", spawnWifiMenu),
("<Insert>", pasteSelection),
("<Print>", printScreen),
("<XF86AudioRaiseVolume>", raiseVol), -- Audio volume & playback
("<XF86AudioLowerVolume>", lowerVol), --
("<XF86AudioMute>", mute), --
("M-<Right>", nextTrack), --
("M-<Left>", prevTrack), --
("M-<Up>", play), --
("M-<Down>", pause), --
("<XF86MonBrightnessUp>", brighten), -- Brightness & hue controls
("<XF86MonBrightnessDown>", dim), --
("S-<XF86MonBrightnessUp>", warm), --
("S-<XF86MonBrightnessDown>", cool), --
("M-S-<XF86MonBrightnessUp>", resetTemp), --
("M-S-<XF86MonBrightnessDown>", resetTemp), --
("M-S-b", fullscreenBrowser),
("<XF86PowerOff>", spawn "systemctl suspend"), --TODO: Only enable this on laptop
("M-c", windows copyToAll),
("M-S-c", killAllOtherCopies),
("M-S-<Delete>", 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
-- }}}
-4
View File
@@ -47,8 +47,4 @@
pl = "swipl";
py = "python";
r = "R";
azerty = "setxkbmap be";
qwerty = "setxkbmap us";
cole = "setxkbmap us -variant colemak";
}
+5 -2
View File
@@ -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"
];
};
};
-19
View File
@@ -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 = "";
};
};
}