diff --git a/roles/xmonad/files/bashrc_x220 b/roles/xmonad/files/bashrc_x220
new file mode 100644
index 0000000..92fef0e
--- /dev/null
+++ b/roles/xmonad/files/bashrc_x220
@@ -0,0 +1,90 @@
+# ~/.bashrc
+
+# colouring terminal
+export PS1='\[\033[38;5;174m\]\u\[\033[38;5;187m\]@\h\[\033[00m\]:\[\033[38;5;174m\] \w \[\033[00m\]\$ '
+
+# colouring ls
+eval $( dircolors -b $HOME/.config/dircolours)
+
+# set vi mode for bash
+set -o vi
+
+# aliases
+alias ls='ls --color'
+alias la='ls -lah'
+
+alias gf='git fetch'
+alias gd='git diff'
+alias gl='git log'
+alias gpl='git pull'
+alias gps='git push'
+alias ga='git add'
+alias gst='git status'
+alias gck='git checkout'
+alias gcm='git commit'
+alias gcl='git clone'
+alias gb='git branch'
+alias gr='git reset'
+alias grm='git rm'
+
+alias lg='lazygit'
+
+# starting ssh-agent
+if [ -z "$SSH_AUTH_SOCK" ] ; then
+ eval `ssh-agent -s` 2>&1 >/dev/null
+fi
+
+# nnn config
+export NNN_OPTS="eEr"
+export NNN_COLORS='#a744b322'
+export NNN_FCOLORS='dfdfdf6c0000df42bbbaba5f'
+export NNN_TRASH=1
+export NNN_ARCHIVE="\\.(7z|a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|rar|rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip)$"
+export NNN_BMS='b:~/bilder;d:~/downloads;D:~/dokumente;v:~/videos;m:~/musik;c:~/.config;M:/mnt/'
+export NNN_PLUG='t:opennewterm;i:imgview;m:nmount'
+
+# nnn cd on quit
+n ()
+{
+ # Block nesting of nnn in subshells
+ if [ -n $NNNLVL ] && [ "${NNNLVL:-0}" -ge 1 ]; then
+ echo "nnn is already running"
+ return
+ fi
+
+ # The default behaviour is to cd on quit (nnn checks if NNN_TMPFILE is set)
+ # To cd on quit only on ^G, remove the "export" as in:
+ # NNN_TMPFILE="${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.lastd"
+ # NOTE: NNN_TMPFILE is fixed, should not be modified
+ NNN_TMPFILE="${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.lastd"
+
+ # Unmask ^Q (, ^V etc.) (if required, see `stty -a`) to Quit nnn
+ # stty start undef
+ # stty stop undef
+ # stty lwrap undef
+ # stty lnext undef
+
+ nnn "$@"
+
+ if [ -f "$NNN_TMPFILE" ]; then
+ . "$NNN_TMPFILE"
+ rm -f "$NNN_TMPFILE" > /dev/null
+ fi
+}
+
+# vimwiki
+vw () {
+ if [[ $# == 0 ]]
+ then
+ git -C ~/dokumente/wiki pull
+ nvim ~/dokumente/wiki/index.md
+ git -C ~/dokumente/wiki add -A
+ git -C ~/dokumente/wiki commit -m "autosync-$(date +%FT%T)"
+ git -C ~/dokumente/wiki push
+ elif [[ $1 == 'g' ]]
+ then
+ git -C ~/dokumente/wiki ${@:2}
+ else
+ echo 'Usage: vw [g] [args ...]'
+ fi
+}
diff --git a/roles/xmonad/files/mimeapps_x220.list b/roles/xmonad/files/mimeapps_x220.list
new file mode 100644
index 0000000..22efb78
--- /dev/null
+++ b/roles/xmonad/files/mimeapps_x220.list
@@ -0,0 +1,28 @@
+[Default Applications]
+application/pdf=org.pwmt.zathura.desktop;
+audio/flac=mpv.desktop;
+audio/mpeg=mpv.desktop;
+video/mp4=mpv.desktop;
+video/mpeg=mpv.desktop;
+video/x-matroska=mpv.desktop;
+image/gif=feh.desktop;
+image/jpeg=feh.desktop;
+image/png=feh.desktop;
+image/tiff=feh.desktop;
+image/svg+xml=feh.desktop;
+text/plain=nvim.desktop;
+text/markdown=nvim.desktop;
+text/html=librewolf.desktop
+x-scheme-handler/http=librewolf.desktop
+x-scheme-handler/https=librewolf.desktop
+x-scheme-handler/about=librewolf.desktop
+x-scheme-handler/unknown=librewolf.desktop
+x-scheme-handler/nxm=vortex-downloads-handler.desktop
+x-scheme-handler/nxm-protocol=vortex-downloads-handler.desktop
+x-scheme-handler/chrome=librewolf.desktop
+application/x-extension-htm=librewolf.desktop
+application/x-extension-html=librewolf.desktop
+application/x-extension-shtml=librewolf.desktop
+application/xhtml+xml=librewolf.desktop
+application/x-extension-xhtml=librewolf.desktop
+application/x-extension-xht=librewolf.desktop
diff --git a/roles/xmonad/files/profile_x220 b/roles/xmonad/files/profile_x220
new file mode 100644
index 0000000..8bc16c9
--- /dev/null
+++ b/roles/xmonad/files/profile_x220
@@ -0,0 +1,61 @@
+# first read by bash on login
+
+# colour scheme for terminal
+export TERM=xterm-256color
+
+# colour scheme for gtk applications
+export GTK_THEME=Adwaita:dark
+
+# default programs
+export EDITOR="nvim"
+export VISUAL="open_editor_in_new_shell"
+export TERMINAL="alacritty"
+export READER="zathura"
+export BROWSER="librewolf"
+
+# environment variables
+export XDG_CONFIG_HOME="$HOME/.config"
+export XDG_CACHE_HOME="$HOME/.cache"
+export XDG_DATA_HOME="$HOME/.local/share"
+export XDG_RUNTIME_DIR="/run/user/1000"
+
+export GNUPGHOME="$XDG_DATA_HOME/gnupg"
+export WINEPREFIX="$XDG_DATA_HOME/wine"
+export LESSHISTFILE=-
+#export XAUTHORITY="$XDG_RUNTIME_DIR/Xauthority"
+export XINITRC="$XDG_CONFIG_HOME/X11/xinitrc"
+export XSERVERRC="$XDG_CONFIG_HOME/X11/xserverrc"
+export HISTFILE="$XDG_DATA_HOME/bash/history"
+export WGETRC="$XDG_CONFIG_HOME/wget/wgetrc"
+export KDEHOME="$XDG_CONFIG_HOME/kde4"
+export ANDROID_SDK_ROOT="$XDG_CONFIG_HOME/android"
+export ADB_VENDOR_KEY="$XDG_CONFIG_HOME/android"
+export SQLITE_HISTORY="$XDG_DATA_HOME/sqlite_history"
+export ASPELL_CONF="per-conf $XDG_CONFIG_HOME/aspell/aspell.conf; personal $XDG_CONFIG_HOME/aspell/de.pws; repl $XDG_CONFIG_HOME/aspell/de.prepl"
+export _JAVA_OPTIONS=-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME/java"
+export NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME/npm/npmrc"
+export TS3_CONFIG_DIR="$XDG_CONFIG_HOME/ts3client"
+export XMONAD_CONFIG_HOME="$XDG_CONFIG_HOME/xmonad"
+export XMONAD_DATA_HOME="$XDG_DATA_HOME/xmonad"
+export XMONAD_CACHE_HOME="$XDG_CACHE_HOME/xmonad"
+export RUSTUP_HOME="$XDG_DATA_HOME/rustup"
+export CARGO_HOME="$XDG_DATA_HOME/cargo"
+export PASSWORD_STORE_DIR="$XDG_DATA_HOME/pass"
+export DVDCSS_CACHE="$XDG_DATA_HOME/dvdcss"
+export DOTNET_CLI_TELEMETRY_OPTOUT=1
+export ANSIBLE_HOME="$XDG_CONFIG_HOME/ansible"
+export ANSIBLE_CONFIG="$XDG_CONFIG_HOME/ansible.cfg"
+export ANSIBLE_GALAXY_CACHE_DIR="$XDG_CACHE_HOME/ansible/galaxy_cache"
+export AZURE_CONFIG_DIR="$XDG_DATA_HOME/azure"
+export NUGET_PACKAGES="$XDG_CACHE_HOME/NuGetPackages"
+
+# if running bash
+if [ -n "$BASH_VERSION" ]; then
+ # include .bashrc if it exists
+ if [ -f "$HOME/.bashrc" ]; then
+ . "$HOME/.bashrc"
+ fi
+fi
+
+# add private bin and its subdirectories to the $PATH
+export PATH="$PATH:$XDG_DATA_HOME/cargo/bin:$(du "$HOME/.local/bin" | cut -f2 | grep -v git | paste -s -d ':')"
diff --git a/roles/xmonad/files/xmobarrc_x220 b/roles/xmonad/files/xmobarrc_x220
new file mode 100644
index 0000000..c0ae49e
--- /dev/null
+++ b/roles/xmonad/files/xmobarrc_x220
@@ -0,0 +1,20 @@
+Config { font = "Iosevka Normal 11"
+ , bgColor = "#3f3f3f"
+ , fgColor = "#dcdccc"
+ , position = TopH 22
+ , border = FullB
+ , borderColor = "#dcdccc"
+ , lowerOnStart = True
+ , commands = [Run DynNetwork ["-t", ": ↓ | ↑ kbps"] 10
+ , Run BatteryP ["BAT0"] ["-t", "Bat: % "] 600
+ , Run Date "%a, %d.%m.%Y - %H:%M" "date" 10
+ , Run Kbd [("de", "de"), ("de(dsb_qwertz)", "dsb"), ("ru(phonetic)", "ru")]
+ , Run Memory ["-t", "RAM: %"] 10
+ , Run MultiCpu ["-t", "CPU: %"] 10
+ , Run Com "pamixer" ["--get-volume-human"] "vol" 1
+ , Run StdinReader
+ ]
+ , sepChar = "%"
+ , alignSep = "}{"
+ , template = " | %StdinReader% }{ %dynnetwork% | %multicpu% | %memory% | %kbd% | %battery% | Vol: %vol% | %date% | "
+ }
diff --git a/roles/xmonad/files/xmonad_x220.hs b/roles/xmonad/files/xmonad_x220.hs
new file mode 100644
index 0000000..a94eb78
--- /dev/null
+++ b/roles/xmonad/files/xmonad_x220.hs
@@ -0,0 +1,299 @@
+{-# OPTIONS_GHC -Wno-missing-signatures #-}
+{-# OPTIONS_GHC -Wno-orphans #-}
+
+{-# LANGUAGE BlockArguments #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE InstanceSigs #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE MultiWayIf #-}
+{-# LANGUAGE PostfixOperators #-}
+{-# LANGUAGE ScopedTypeVariables #-}
+{-# LANGUAGE TypeApplications #-}
+
+-- Imports
+import XMonad
+import Data.Monoid
+import System.Exit
+import XMonad.Util.Run
+import XMonad.Util.SpawnOnce
+import XMonad.Hooks.DynamicLog
+import XMonad.Hooks.ManageDocks
+import XMonad.Layout.Spacing
+import XMonad.Layout.ThreeColumns
+import XMonad.Layout.LayoutModifier
+import XMonad.Layout.Renamed
+import XMonad.Hooks.SetWMName
+import XMonad.Util.Cursor
+import XMonad.Layout.NoBorders
+import XMonad.Layout.PerWorkspace
+import XMonad.Hooks.EwmhDesktops
+import XMonad.Util.EZConfig
+import XMonad.Util.NamedScratchpad
+import XMonad.Actions.TopicSpace
+import XMonad.Prompt
+import XMonad.Prompt.FuzzyMatch
+import XMonad.Prompt.Shell
+import XMonad.Prompt.Workspace
+import XMonad.Hooks.WorkspaceHistory (workspaceHistoryHook)
+import XMonad.Hooks.DynamicProperty
+import qualified XMonad.StackSet as W
+import qualified Data.Map as M
+import Text.Regex.Posix
+import XMonad.Util.WorkspaceCompare ( getSortByIndex, filterOutWs )
+import Data.Maybe (fromMaybe)
+
+import qualified XMonad.Actions.Search as S
+import qualified XMonad.Prompt as P
+
+-- colours
+white :: String = "#dcdccc"
+yellow :: String = "#efef8f"
+orange :: String = "#ffcfaf"
+red :: String = "#dca3a3"
+blue :: String = "#8cd0d3"
+darkBlue :: String = "#8c8cbc"
+green :: String = "#7f9f7f"
+grey :: String = "#3f3f3f"
+darkGrey :: String = "#262626"
+
+-- variables
+myTerminal = "alacritty"
+myBorderWidth = 1
+myModMask = mod4Mask
+
+-- scratchpads
+myScratchpads :: [NamedScratchpad]
+myScratchpads =
+ [ NS "keepassxc" "keepassxc ~/dokumente/Database.kdbx" (title =? "Database.kdbx - KeePassXC" <||> title =? "Database.kdbx [Gesperrt] - KeePassXC") defaultFloating
+ , NS "nnn" "alacritty -t nnn -e run_in_bash n" (title =? "nnn") (customFloating $ W.RationalRect (1/4) (1/6) (2/4) (4/6))
+ , NS "vimwiki" "alacritty -t vimwiki -e run_in_bash vw" (title =? "vimwiki") (customFloating $ W.RationalRect (1/6) (1/6) (2/3) (2/3))
+ , NS "pavucontrol" "pavucontrol" (title =? "Lautstärkeregler") (customFloating $ W.RationalRect (1/6) (1/6) (2/3) (2/3))
+ , NS "cmus" "alacritty -n cmus -e cmus" (resource =? "cmus") (customFloating $ W.RationalRect (1/6) (1/6) (4/6) (4/6))
+ , NS "qalculate" "qalculate-gtk" (title =? "Qalculate!") (customFloating $ W.RationalRect (3/6) (1/6) (1/6) (1/6))
+ ]
+
+-- Topic Space
+topicItems :: [TopicItem]
+topicItems =
+ [ noAction "1" "~/"
+ , noAction "2" "~/"
+ , noAction "3" "~/"
+ , noAction "4" "~/"
+ , noAction "5" "~/"
+ , TI "alkaa" "~/projekte/alkaa" (switchToLayout "Programming" *> spawnShell *> spawnEditor)
+ ]
+
+myTopicConfig :: TopicConfig
+myTopicConfig = def
+ { topicDirs = tiDirs topicItems
+ , topicActions = tiActions topicItems
+ , defaultTopicAction = const (pure ()) -- by default, do nothing
+ , defaultTopic = "1" -- fallback
+ }
+
+spawnShell :: X ()
+spawnShell = proc $ termInDir >-$ currentTopicDir myTopicConfig
+
+spawnEditor :: X ()
+spawnEditor = proc $ (termInDir >-$ currentTopicDir myTopicConfig) >-> execute "nvim"
+
+switchToLayout :: String -> X ()
+switchToLayout = sendMessage . JumpToLayout
+
+spawnShellAndExecute :: String -> X ()
+spawnShellAndExecute cmd = proc $ (termInDir >-$ currentTopicDir myTopicConfig) >-> execute cmd
+
+toggleTopic :: X ()
+toggleTopic = switchNthLastFocusedByScreen myTopicConfig 1
+
+myWorkSpacePrompt :: XPConfig -> (String -> X ()) -> X ()
+myWorkSpacePrompt c job = do ws <- gets (W.workspaces . windowset)
+ sort <- getSortByIndex
+ let filter = filterOutWs ["1", "2", "3", "4", "5", "NSP"]
+ let ts = map W.tag $ filter ws
+ mkXPrompt (Wor "") c (mkComplFunFromList' c ts) job
+
+topicPrompt :: XPConfig
+topicPrompt = def
+ { historySize = 0 -- No history in the prompt.
+ , fgColor = white
+ , fgHLight = "#3f3f3f"
+ , bgHLight = red
+ , alwaysHighlight = True -- Current best match
+ , height = 25
+ , position = CenteredAt 0.45 0.3
+ , promptBorderWidth = myBorderWidth -- Fit in with rest of config
+ , borderColor = red
+ , maxComplRows = Just 10 -- Max rows to show in completion window
+ , maxComplColumns = Just 1
+ , searchPredicate = fuzzyMatch
+ , sorter = fuzzySort
+ }
+
+searx :: S.SearchEngine
+searx = S.searchEngine "searx" "https://search.tfld.de/search?q="
+
+wiktionary :: S.SearchEngine
+wiktionary = S.searchEngine "wiktionary" "https://wiktionary.org/w/index.php?search="
+
+searchList :: [(String, S.SearchEngine)]
+searchList = [ ("o", S.openstreetmap)
+ , ("h", S.hackage)
+ , ("w", S.wikipedia)
+ , ("y", S.youtube)
+ , ("s", searx)
+ , ("t", wiktionary)
+ ]
+
+-- custom keybinds
+myAdditionalKeys :: [(String, X ())]
+myAdditionalKeys =
+ -- xmonad specific
+ [ ("M-q", spawn "xmonad --recompile; xmonad --restart")
+ , ("M-S-c", kill)
+ , ("M-j", windows W.focusDown)
+ , ("M-k", windows W.focusUp)
+ , ("M-S-j", windows W.swapDown)
+ , ("M-S-k", windows W.swapUp)
+ , ("M-h", sendMessage Shrink)
+ , ("M-l", sendMessage Expand)
+ , ("M-,", sendMessage (IncMasterN 1))
+ , ("M-S-,", sendMessage (IncMasterN (-1)))
+ , ("M-.", sendMessage ToggleStruts)
+
+ -- dmenu prompts
+ , ("M-", spawn "dmenu_run")
+ , ("M-p s", spawn "dmenu_screenshot")
+ , ("M-p k", spawn "dmenu_kill")
+
+ -- scratchpads
+ , ("M-n", namedScratchpadAction myScratchpads "nnn")
+ , ("M-S-a", namedScratchpadAction myScratchpads "keepassxc")
+ , ("M-s v", namedScratchpadAction myScratchpads "vimwiki")
+ , ("M-s a", namedScratchpadAction myScratchpads "pavucontrol")
+ , ("M-s c", namedScratchpadAction myScratchpads "cmus")
+ , ("M-s q", namedScratchpadAction myScratchpads "qalculate")
+ , ("M-s g", spawnShellAndExecute "lazygit")
+
+ -- open terminal
+ , ("M-S-", spawnShell)
+ , ("M-b", spawn "firefox")
+
+ -- layout
+ , ("M-t t", switchToLayout "Tall")
+ , ("M-t p", switchToLayout "Programming")
+ , ("M-t f", switchToLayout "Full")
+
+ , ("M-S-f", withFocused $ windows . W.sink)
+
+ -- media keys
+ , ("", spawn "pamixer -t" *> spawn "brightnessctl -q -d platform::mute s $((1-$(brightnessctl -d platform::mute g)))")
+ , ("", spawn "pamixer -d 5")
+ , ("", spawn "pamixer -i 5")
+ , ("", spawn "pamixer --default-source -t" *> spawn "brightnessctl -q -d platform::micmute s $((1-$(brightnessctl -d platform::micmute g)))")
+ , ("", spawn "brightnessctl -q -- s '-10%'")
+ , ("", spawn "brightnessctl -q -- s '+10%'")
+
+ -- lock screen
+ , ("M-S-l", spawn "slock")
+
+ -- workspace switching
+ , ("M-", toggleTopic)
+ , ("M-", myWorkSpacePrompt topicPrompt (switchTopic myTopicConfig))
+ , ("M-S-", myWorkSpacePrompt topicPrompt (windows . W.shift))
+ ]
+ ++
+ [ ("M-" ++ m ++ k, f i)
+ | (i, k) <- zip (topicNames topicItems) (map show [1 .. 5 :: Int])
+ , (f, m) <- [(switchTopic myTopicConfig, ""), (windows . W.shift, "S-")]
+ ]
+ -- Search commands
+ ++ [("M-d " ++ k, S.promptSearch topicPrompt f) | (k,f) <- searchList ]
+ ++ [("M-S-d " ++ k, S.selectSearch f) | (k,f) <- searchList ]
+
+
+-- Layouts
+mySpacing :: Integer -> l a -> XMonad.Layout.LayoutModifier.ModifiedLayout Spacing l a
+mySpacing i = spacingRaw True (Border i i i i) True (Border i i i i) True
+
+myLayout = avoidStruts $ tiling ||| hacking ||| full
+ where
+ tiling = renamed [Replace "Tall"] $ smartBorders $ mySpacing 6 $ Tall 1 (3/100) (1/2)
+ hacking = renamed [Replace "Programming"] $ smartBorders $ mySpacing 6 $ Tall 1 (3/100) (5/8)
+ full = noBorders Full
+-- Regex lifted up to use in manageHook
+(*!?) :: Functor f => f String -> String -> f Bool
+q *!? x = fmap (=~ x) q
+
+-- window rules
+myManageHook = composeAll . concat $
+ [ [ resource =? "desktop_window" --> doIgnore ]
+ , [ resource =? "kdesktop" --> doIgnore ]
+ , [ ( className =? "LibreWolf" <&&> role =? "Organizer" ) --> doFloat ]
+
+ -- float specific classes
+ , [ className =? c --> doFloat | c <- myFloatingClasses ]
+
+ -- scratchpads
+ , [ namedScratchpadManageHook myScratchpads ]
+ ]
+ where
+ role = stringProperty "WM_WINDOW_ROLE"
+ myFloatingClasses = ["Gimp", "Origin"]
+
+------------------------------------------------------------------------
+-- Event handling
+
+-- * EwmhDesktops users should change this to ewmhDesktopsEventHook
+--
+-- Defines a custom handler function for X Events. The function should
+-- return (All True) if the default handler is to be run afterwards. To
+-- combine event hooks use mappend or mconcat from Data.Monoid.
+--
+myEventHook = dynamicPropertyChange "WM_NAME" (title =? "Database.kdbx - KeePassXC" <||> title =? "Database.kdbx [Gesperrt] - KeePassXC" --> floating)
+ where floating = customFloating $ W.RationalRect (1/8) (1/8) (3/4) (3/4)
+
+------------------------------------------------------------------------
+-- Status bars and logging
+
+-- Perform an arbitrary action on each internal state change or X event.
+-- See the 'XMonad.Hooks.DynamicLog' extension for examples.
+--
+-- myLogHook = return ()
+
+-- Startup hook
+myStartupHook = do
+ setWMName "LG3D"
+ setDefaultCursor xC_left_ptr
+ spawnOnce "redshift -l 51.33:12.40"
+ spawnOnce "safeeyes -e"
+ spawnOnce "/usr/bin/dunst"
+ spawnOnce "feh --bg-fill ~/bilder/bg.jpg ~/bilder/bg.jpg"
+
+-- Main
+main = do
+ xmproc0 <- spawnPipe "xmobar -x 0 /home/max/.config/xmobar/xmobarrc"
+ xmproc1 <- spawnPipe "xmobar -x 1 /home/max/.config/xmobar/xmobarrc"
+ xmonad $ ewmh . spawnExternalProcess def $ docks def {
+ -- simple stuff
+ terminal = myTerminal,
+ borderWidth = myBorderWidth,
+ modMask = myModMask,
+ workspaces = topicNames topicItems,
+ normalBorderColor = white,
+ focusedBorderColor = red,
+ keys = mempty,
+ -- hooks, layouts
+ layoutHook = myLayout,
+ manageHook = myManageHook,
+ handleEventHook = myEventHook,
+ logHook = workspaceHistoryHook >> (dynamicLogWithPP $ filterOutWsPP ["NSP"] $ xmobarPP {
+ ppCurrent = xmobarColor "#dca3a3" "" . wrap "[ " " ]",
+ ppHidden = xmobarColor "#8cd0d3" "",
+ ppLayout = xmobarColor "#8c8cbc" "",
+ ppTitle = xmobarColor "#ffcfaf" "" . shorten 100,
+ ppSep = " | ",
+ ppOutput = \x -> hPutStrLn xmproc0 x >> hPutStrLn xmproc1 x
+ }),
+ startupHook = myStartupHook
+ } `additionalKeysP` myAdditionalKeys
diff --git a/roles/xmonad/tasks/main.yml b/roles/xmonad/tasks/main.yml
index 9081832..ecb7e47 100644
--- a/roles/xmonad/tasks/main.yml
+++ b/roles/xmonad/tasks/main.yml
@@ -21,18 +21,19 @@
- mpv
- nsxiv
- zathura
+ - ttc-iosevka
state: present
become: true
tags: [pc, setup]
-- name: Install t460p specifig packages
+- name: Install laptop specific packages
ansible.builtin.package:
name:
- pavucontrol
- pamixer
- brightnessctl
state: present
- tags: [t460p, setup]
+ tags: [t460p, x220, setup]
- name: Build and install dmenu
community.general.make:
@@ -153,6 +154,19 @@
- { src: mimeapps_qwerty.list, dest: ~/.config/mimeapps.list }
tags: qwerty
+- name: Copy over x220 config files
+ ansible.builtin.copy:
+ src: "{{ item.src }}"
+ dest: "{{ item.dest }}"
+ mode: '0644'
+ with_items:
+ - { src: xmonad_x220.hs, dest: ~/.config/xmonad/xmonad.hs }
+ - { src: xmobarrc_x220, dest: ~/.config/xmobar/xmobarrc }
+ - { src: bashrc_x220, dest: ~/.bashrc }
+ - { src: profile_x220, dest: ~/.profile }
+ - { src: mimeapps_x220.list, dest: ~/.config/mimeapps.list }
+ tags: x220
+
- name: Enable Lightdm
ansible.builtin.service:
name: lightdm