1
Fork 0

feat: xmonad!!!

This commit is contained in:
Matei Adriel 2020-04-19 20:26:10 +03:00
parent d6f460d390
commit c7069236cf
6 changed files with 88 additions and 2 deletions

16
.vscode/settings.json vendored Normal file
View file

@ -0,0 +1,16 @@
{
"cSpell.words": [
"Kmix",
"alacritty",
"concat",
"foldl",
"foldr",
"keymap",
"krunner",
"ksplashqml",
"ksplashsimple",
"ksplashx",
"rofi",
"xmonad"
]
}

View file

@ -3,6 +3,7 @@
./git ./git
./shells ./shells
./wakatime ./wakatime
./xmonad
./misc.nix ./misc.nix
./locale.nix ./locale.nix

View file

@ -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

View 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";
};
}

View 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

View file

@ -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;
}; };
}; };