feat: xmonad!!!
This commit is contained in:
parent
d6f460d390
commit
c7069236cf
16
.vscode/settings.json
vendored
Normal file
16
.vscode/settings.json
vendored
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
{
|
||||||
|
"cSpell.words": [
|
||||||
|
"Kmix",
|
||||||
|
"alacritty",
|
||||||
|
"concat",
|
||||||
|
"foldl",
|
||||||
|
"foldr",
|
||||||
|
"keymap",
|
||||||
|
"krunner",
|
||||||
|
"ksplashqml",
|
||||||
|
"ksplashsimple",
|
||||||
|
"ksplashx",
|
||||||
|
"rofi",
|
||||||
|
"xmonad"
|
||||||
|
]
|
||||||
|
}
|
|
@ -3,6 +3,7 @@
|
||||||
./git
|
./git
|
||||||
./shells
|
./shells
|
||||||
./wakatime
|
./wakatime
|
||||||
|
./xmonad
|
||||||
|
|
||||||
./misc.nix
|
./misc.nix
|
||||||
./locale.nix
|
./locale.nix
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
# chat apps
|
# chat apps
|
||||||
discord
|
discord
|
||||||
slack
|
slack
|
||||||
|
zoom-us # for online classes / church and stuff
|
||||||
|
|
||||||
# browsers
|
# browsers
|
||||||
google-chrome
|
google-chrome
|
||||||
|
|
21
modules/applications/xmonad/default.nix
Normal file
21
modules/applications/xmonad/default.nix
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{ ... }: {
|
||||||
|
home-manager.users.adrielus = {
|
||||||
|
xsession.windowManager.xmonad = {
|
||||||
|
enable = true;
|
||||||
|
enableContribAndExtras = true;
|
||||||
|
config = ./xmonad.hs;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.rofi = {
|
||||||
|
enable = true;
|
||||||
|
font = "Source Code Pro 16";
|
||||||
|
location = "center";
|
||||||
|
padding = 10;
|
||||||
|
lines = 7;
|
||||||
|
fullscreen = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
home.file.".config/plasma-workspace/env/set_window_manager.sh".text =
|
||||||
|
"export KDEWM=/home/adrielus/.nix-profile/bin/xmonad";
|
||||||
|
};
|
||||||
|
}
|
49
modules/applications/xmonad/xmonad.hs
Normal file
49
modules/applications/xmonad/xmonad.hs
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
import Data.Function ( (&) )
|
||||||
|
import Control.Monad ( join )
|
||||||
|
|
||||||
|
import XMonad
|
||||||
|
import XMonad.Config.Kde
|
||||||
|
import XMonad.Layout.Spacing
|
||||||
|
import XMonad.Util.EZConfig
|
||||||
|
import XMonad.Actions.SpawnOn
|
||||||
|
import XMonad.Hooks.ManageDocks
|
||||||
|
|
||||||
|
main =
|
||||||
|
xmonad
|
||||||
|
$ docks
|
||||||
|
$ kdeConfig { modMask = mod4Mask
|
||||||
|
, layoutHook = myLayoutHook
|
||||||
|
, manageHook = myManagerHook <+> manageHook kdeConfig
|
||||||
|
, terminal = myTerminal
|
||||||
|
}
|
||||||
|
`additionalKeys` keymap
|
||||||
|
where
|
||||||
|
kdeFloats =
|
||||||
|
[ "yakuake"
|
||||||
|
, "Yakuake"
|
||||||
|
, "Kmix"
|
||||||
|
, "kmix"
|
||||||
|
, "plasma"
|
||||||
|
, "Plasma"
|
||||||
|
, "plasma-desktop"
|
||||||
|
, "Plasma-desktop"
|
||||||
|
, "krunner"
|
||||||
|
, "ksplashsimple"
|
||||||
|
, "ksplashqml"
|
||||||
|
, "ksplashx"
|
||||||
|
]
|
||||||
|
|
||||||
|
myManagerHook =
|
||||||
|
composeAll [ className =? name --> doFloat | name <- kdeFloats ]
|
||||||
|
|
||||||
|
myTerminal = "alacritty"
|
||||||
|
keymap = [((mod4Mask, xK_P), spawn "rofi -show run")]
|
||||||
|
|
||||||
|
uniformBorder = join $ join $ join Border
|
||||||
|
border = uniformBorder 4
|
||||||
|
spacingHook = spacingRaw True border True border True
|
||||||
|
|
||||||
|
layouts = Tall 1 (3 / 100) (1 / 2) ||| Full
|
||||||
|
myLayoutHook = desktopLayoutModifiers $ spacingHook layouts
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
services.xserver = {
|
services.xserver = {
|
||||||
# Enable the X11 windowing system.
|
# Enable the X11 windowing system.
|
||||||
enable = true;
|
enable = true;
|
||||||
layout = "us";
|
|
||||||
xkbOptions = "eurosign:e";
|
xkbOptions = "eurosign:e";
|
||||||
|
|
||||||
# Enable the KDE Desktop Environment.
|
# Enable the KDE Desktop Environment.
|
||||||
|
@ -16,7 +15,6 @@
|
||||||
naturalScrolling = true;
|
naturalScrolling = true;
|
||||||
accelSpeed = "3.5";
|
accelSpeed = "3.5";
|
||||||
|
|
||||||
# who thought letting this be true by default was a good idea
|
|
||||||
tappingDragLock = false;
|
tappingDragLock = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue