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
|
||||
./shells
|
||||
./wakatime
|
||||
./xmonad
|
||||
|
||||
./misc.nix
|
||||
./locale.nix
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
# chat apps
|
||||
discord
|
||||
slack
|
||||
zoom-us # for online classes / church and stuff
|
||||
|
||||
# browsers
|
||||
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 = {
|
||||
# Enable the X11 windowing system.
|
||||
enable = true;
|
||||
layout = "us";
|
||||
xkbOptions = "eurosign:e";
|
||||
|
||||
# Enable the KDE Desktop Environment.
|
||||
|
@ -16,7 +15,6 @@
|
|||
naturalScrolling = true;
|
||||
accelSpeed = "3.5";
|
||||
|
||||
# who thought letting this be true by default was a good idea
|
||||
tappingDragLock = false;
|
||||
};
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue