From ff7e0631e6caba3d8e51a55daf79d7e2962c8383 Mon Sep 17 00:00:00 2001 From: Max Hohlfeld Date: Sat, 16 Mar 2024 21:00:52 +0100 Subject: [PATCH] feat: add x220 config --- roles/xmonad/files/bashrc_x220 | 90 ++++++++ roles/xmonad/files/mimeapps_x220.list | 28 +++ roles/xmonad/files/profile_x220 | 61 ++++++ roles/xmonad/files/xmobarrc_x220 | 20 ++ roles/xmonad/files/xmonad_x220.hs | 299 ++++++++++++++++++++++++++ roles/xmonad/tasks/main.yml | 18 +- 6 files changed, 514 insertions(+), 2 deletions(-) create mode 100644 roles/xmonad/files/bashrc_x220 create mode 100644 roles/xmonad/files/mimeapps_x220.list create mode 100644 roles/xmonad/files/profile_x220 create mode 100644 roles/xmonad/files/xmobarrc_x220 create mode 100644 roles/xmonad/files/xmonad_x220.hs 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