Skip to content

Instantly share code, notes, and snippets.

@Dalstroem
Last active April 16, 2022 08:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Dalstroem/553df42b913f8de9a982fbb1c2eda499 to your computer and use it in GitHub Desktop.
Save Dalstroem/553df42b913f8de9a982fbb1c2eda499 to your computer and use it in GitHub Desktop.
$ mkdir -p ~/.config/xmobar && cd ~/.config/xmobar
git clone https://github.com/jaor/xmobar
cd xmobar
-------------------------------------------------------------
$ sudo apt install libghc-aeson-dev libghc-async-dev libghc-extensible-exceptions-dev libghc-parsec-numbers-dev libghc-regex-compat-dev
$ runhaskell setup.lhs configure
$ runhaskell setup.lhs build
$ sudo runhaskell setup.lhs install
-------------------------------------------------------------
$ nano ~/.config/xmobar/xmobarrc
Config {
font = "xft:Ubuntu Mono:size=16:weight=bold:antialias=true:hinting=true",
borderColor = "#000000",
border = TopB,
bgColor = "#333333",
fgColor = "#b5b3b3",
position = Top,
commands = [
Run Date "<fn=1>\xf133</fn> %A %_d. %B %Y - %H:%M " "date" 10
],
sepChar = "%",
alignSep = "}{",
template = " Hello }"\
\"{ <fc=#ee9a00>%date%</fc> "
}
-------------------------------------------------------------
# XMonad config
import XMonad.Hooks.ManageDocks
import XMonad.Util.Run
myLayoutHook = avoidStruts (tiled ||| Mirror tiled ||| Full)
where
-- default tiling algorithm partitions the screen into two panes
tiled = Tall nmaster delta ratio
-- The default number of windows in the master pane
nmaster = 1
-- Default proportion of screen occupied by master pane
ratio = 1/2
-- Percent of screen to increment by when resizing panes
delta = 3/100
defaults = def
{
layoutHook = myLayoutHook
}
main = do
xmproc <- spawnPipe "xmobar ~/.config/xmobar/xmobarrc"
xmonad $ docks defaults
$ sudo nano /etc/gdm3/custom.conf
WaylandEnable=true
-------------------------------------------------------------
# set PATH so it includes user local bin if it exists.
if [ -d "$HOME/.local/bin" ] ; then
PATH="$HOME/.local/bin:$PATH"
fi
-------------------------------------------------------------
$ mkdir -p ~/.config/xmonad && cd ~/.config/xmonad
git clone https://github.com/xmonad/xmonad.git
git clone https://github.com/xmonad/xmonad-contrib.git
-------------------------------------------------------------
$ sudo apt install haskell-stack libx11-dev libxrandr-dev libxss-dev libghc-x11-xft-dev
$ stack upgrade
$ stack init
$ stack install
-------------------------------------------------------------
$ sudo nano /usr/share/xsessions/xmonad.desktop
[Desktop Entry]
Name=XMonad
Comment=Lightweight tiling window manager
Exec=xmonad
Type=XSession
-------------------------------------------------------------
$ nano ~/.config/xmonad/xmonad.hs
import XMonad
import XMonad.Util.SpawnOnce
myTerminal = "gnome-terminal"
myModMask = mod4Mask
myBorderWidth = 2
myStartupHook = do
spawnOnce "xrandr -s 1920x1080 &"
spawnOnce "nitrogen --restore &"
spawnOnce "compton &"
defaults = def
{
terminal = myTerminal,
borderWidth = myBorderWidth,
modMask = myModMask,
startupHook = myStartupHook
}
main = do
xmonad $ defaults
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment