mirror of
https://github.com/fredrikr79/nixos.git
synced 2026-01-11 01:13:53 +01:00
added xmonad, xmobar and alacritty to home manager
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
|
||||
|
||||
home-manager = {
|
||||
url = github:nix-community/home-manager/release-24.05;
|
||||
url = "github:nix-community/home-manager/release-24.05";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
home-manager.nixosModules.home-manager {
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.backupFileExtension = "backup";
|
||||
home-manager.users.fredrikr = {
|
||||
imports = [ ./home.nix
|
||||
nixvim.homeManagerModules.nixvim
|
||||
|
||||
14
home.nix
14
home.nix
@@ -38,6 +38,9 @@
|
||||
# org.gradle.console=verbose
|
||||
# org.gradle.daemon.idletimeout=3600000
|
||||
# '';
|
||||
".config/alacritty".source = home/config/alacritty;
|
||||
".config/xmonad".source = home/config/xmonad;
|
||||
".xmobarrc".source = home/.xmobarrc;
|
||||
};
|
||||
|
||||
home.sessionVariables = {
|
||||
@@ -85,11 +88,12 @@
|
||||
}
|
||||
];
|
||||
|
||||
colorschemes.nord = {
|
||||
colorschemes.dracula = {
|
||||
enable = true;
|
||||
settings = {
|
||||
disable_background = true;
|
||||
};
|
||||
# settings = {
|
||||
# disable_background = true;
|
||||
# };
|
||||
colorterm = false;
|
||||
};
|
||||
|
||||
viAlias = true;
|
||||
@@ -130,6 +134,8 @@
|
||||
};
|
||||
|
||||
plugins = {
|
||||
lualine.enable = true;
|
||||
|
||||
coq-nvim.enable = true;
|
||||
|
||||
cmp = {
|
||||
|
||||
66
home/.xmobarrc
Normal file
66
home/.xmobarrc
Normal file
@@ -0,0 +1,66 @@
|
||||
Config { overrideRedirect = False
|
||||
, font = "xft:iosevka-9"
|
||||
, bgColor = "#000000"
|
||||
, lowerOnStart = True
|
||||
, fgColor = "#f8f8f2"
|
||||
, position = TopW L 100
|
||||
, commands = [ Run Weather "ENVA"
|
||||
[ "--template", " <tempC>°C <weather>"
|
||||
, "-L", "0"
|
||||
, "-H", "25"
|
||||
, "--low" , "lightblue"
|
||||
, "--normal", "#f8f8f2"
|
||||
, "--high" , "red"
|
||||
] 36000
|
||||
, Run Cpu
|
||||
[ "-L", "3"
|
||||
, "-H", "50"
|
||||
, "--high" , "red"
|
||||
, "--normal", "green"
|
||||
, "--template", " <total>%"
|
||||
] 10
|
||||
, Run Alsa "default" "Master"
|
||||
[ "--template", " <volumestatus>"
|
||||
, "--suffix" , "True"
|
||||
, "--"
|
||||
, "--on", ""
|
||||
]
|
||||
, Run Memory ["--template", " <usedratio>%"] 10
|
||||
, Run Swap [] 10
|
||||
, Run Date "%a %Y-%m-%d <fc=#8be9fd>%H:%M:%S</fc>" "date" 10
|
||||
, Run XMonadLog
|
||||
|
||||
-- Battery information. This is likely to require some customization
|
||||
-- based upon your specific hardware. Or, for a desktop you may want
|
||||
-- to just remove this section entirely.
|
||||
, Run Battery [
|
||||
"-t", "<acstatus> <left>%",
|
||||
"--",
|
||||
--"-c", "charge_full",
|
||||
"-O", " ",
|
||||
"-i", " ",
|
||||
"-o", " ",
|
||||
"-h", "green",
|
||||
"-l", "red"
|
||||
] 10
|
||||
-- , Run Network "wlp0s20f3" ["-L","0","-H","32","--normal","green","--high","red"] 10
|
||||
, Run CoreTemp [ "--template" , "<core0> <core1> <core2> <core3>°C"
|
||||
, "--Low" , "70" -- units: °C
|
||||
, "--High" , "80" -- units: °C
|
||||
, "--low" , "darkgreen"
|
||||
, "--normal" , "darkorange"
|
||||
, "--high" , "darkred"
|
||||
] 50
|
||||
, Run DynNetwork [ "--template" , " <tx> <rx> kB/s"
|
||||
, "--Low" , "1000" -- units: kB/s
|
||||
, "--High" , "5000" -- units: kB/s
|
||||
, "--low" , "darkgreen"
|
||||
, "--normal" , "darkorange"
|
||||
, "--high" , "darkred"
|
||||
] 10
|
||||
, Run Brightness [ "-t", " <percent>%", "--", "-D", "intel_backlight" ] 60
|
||||
]
|
||||
, sepChar = "%"
|
||||
, alignSep = "}{"
|
||||
, template = " %XMonadLog% } %date% { %alsa:default:Master% | %bright% | %cpu% - %coretemp% | %memory% | %ENVA% | %dynnetwork% | %battery% "
|
||||
}
|
||||
14
home/config/alacritty/alacritty.toml
Normal file
14
home/config/alacritty/alacritty.toml
Normal file
@@ -0,0 +1,14 @@
|
||||
[window]
|
||||
opacity = 0.7
|
||||
|
||||
[window.class]
|
||||
general = "Alacritty"
|
||||
instance = "Alacritty"
|
||||
|
||||
[window.dimensions]
|
||||
columns = 69
|
||||
lines = 20
|
||||
|
||||
[window.padding]
|
||||
x = 2
|
||||
y = 2
|
||||
139
home/config/xmonad/xmonad.hs
Normal file
139
home/config/xmonad/xmonad.hs
Normal file
@@ -0,0 +1,139 @@
|
||||
import XMonad
|
||||
|
||||
import XMonad.Util.EZConfig
|
||||
|
||||
-- import XMonad.Util.Ungrab
|
||||
-- import XMonad.Operations (unGrab)
|
||||
|
||||
import XMonad.Hooks.EwmhDesktops
|
||||
|
||||
import XMonad.Hooks.DynamicLog
|
||||
import XMonad.Hooks.StatusBar
|
||||
import XMonad.Hooks.StatusBar.PP
|
||||
import XMonad.Hooks.ManageDocks
|
||||
|
||||
import XMonad.Util.Loggers
|
||||
|
||||
import XMonad.Util.SpawnOnce ( spawnOnce )
|
||||
|
||||
import XMonad.Layout.NoBorders
|
||||
|
||||
import XMonad.Actions.GroupNavigation
|
||||
|
||||
import XMonad.Actions.CycleWS
|
||||
|
||||
import XMonad.StackSet
|
||||
|
||||
import Graphics.X11.ExtraTypes.XF86
|
||||
|
||||
|
||||
main :: IO ()
|
||||
main = xmonad
|
||||
. ewmhFullscreen
|
||||
. ewmh
|
||||
. withEasySB (statusBarProp "xmobar" (pure myXmobarPP)) toggleStrutsKey
|
||||
$ myConfig
|
||||
where
|
||||
toggleStrutsKey :: XConfig Layout -> (KeyMask, KeySym)
|
||||
toggleStrutsKey XConfig{ modMask = m } = (m, xK_End)
|
||||
|
||||
myConfig = let
|
||||
terminal = "alacritty"
|
||||
browser = "firefox"
|
||||
modm = mod4Mask -- super/meta
|
||||
in def
|
||||
{ modMask = modm
|
||||
, terminal = terminal
|
||||
, startupHook = myStartupHook
|
||||
, layoutHook = myLayout
|
||||
, logHook = historyHook
|
||||
}
|
||||
`additionalKeysP`
|
||||
[ ("M-b", spawn browser)
|
||||
-- , ("M-t", spawn terminal)
|
||||
-- , ("<Print>", spawn "scrot ~/Pictures/Screenshots/%b-%d::%H-%M-%S.png")
|
||||
, ("<Print>", spawn "/home/fredrikr/.scrot.sh")
|
||||
-- , ("<M-S-s>", unGrab *> spawn "scrot -s ~/Pictures/Screenshots/%b-%d::%H-%M-%S.png")
|
||||
]
|
||||
`additionalKeys`
|
||||
[ ((mod1Mask, xK_Tab), nextMatch History (return True))
|
||||
, ((modm, xK_Escape), spawn "dm-tool lock")
|
||||
, ((modm, xK_Down), nextWS)
|
||||
, ((modm, xK_Up), prevWS)
|
||||
, ((modm .|. shiftMask, xK_Down), shiftToNext)
|
||||
, ((modm .|. shiftMask, xK_Up), shiftToPrev)
|
||||
, ((modm, xK_z), toggleWS)
|
||||
, ((modm, xK_y), withFocused $ windows . sink) -- %! Push window back into tiling
|
||||
, ((modm, xK_i), sendMessage Shrink) -- %! Shrink the master area
|
||||
, ((modm, xK_o), sendMessage Expand) -- %! Expand the master area
|
||||
, ((modm, xK_r), withFocused $ windows . sink) -- %! Resize viewed windows to the correct size
|
||||
, ((modm, xK_a), sendMessage ToggleStruts)
|
||||
, ((0, xF86XK_AudioLowerVolume ), spawn "amixer set Master 1%-")
|
||||
, ((0, xF86XK_AudioRaiseVolume ), spawn "amixer set Master 1%+")
|
||||
, ((0, xF86XK_AudioMute ), spawn "amixer set Master toggle")
|
||||
, ((0, xF86XK_MonBrightnessUp ), spawn "brightnessctl set 10%+")
|
||||
, ((0, xF86XK_MonBrightnessDown ), spawn "brightnessctl set 10%-")
|
||||
]
|
||||
++
|
||||
[((m .|. modm, k), windows $ f i)
|
||||
| (i, k) <- zip myWorkspaces numPadKeys
|
||||
, (f, m) <- [(greedyView, 0), (shift, shiftMask)]]
|
||||
++
|
||||
[((m .|. modm, k), windows $ f i)
|
||||
| (i, k) <- zip myWorkspaces myWSKeys
|
||||
, (f, m) <- [(greedyView, 0), (shift, shiftMask)]]
|
||||
where
|
||||
myWorkspaces = ["1","2","3","4","5","6","7","8","9","0"]
|
||||
-- Non-numeric num pad keys, sorted by number
|
||||
numPadKeys = [ xK_KP_End, xK_KP_Down, xK_KP_Page_Down -- 1, 2, 3
|
||||
, xK_KP_Left, xK_KP_Begin, xK_KP_Right -- 4, 5, 6
|
||||
, xK_KP_Home, xK_KP_Up, xK_KP_Page_Up -- 7, 8, 9
|
||||
, xK_KP_Insert] -- 0
|
||||
myWSKeys = [xK_h, xK_t, xK_n, xK_s] ++ [xK_5..xK_9]
|
||||
|
||||
|
||||
myXmobarPP :: PP
|
||||
myXmobarPP = def
|
||||
{ ppSep = magenta " • "
|
||||
, ppTitleSanitize = xmobarStrip
|
||||
, ppCurrent = wrap " " "" . xmobarBorder "Top" "#8be9fd" 2
|
||||
, ppHidden = white . wrap " " ""
|
||||
, ppHiddenNoWindows = lowWhite . wrap " " ""
|
||||
, ppUrgent = red . wrap (yellow "!") (yellow "!")
|
||||
, ppOrder = \[ws, l, _, wins] -> [ws, l, wins]
|
||||
, ppExtras = [logTitles formatFocused formatUnfocused]
|
||||
}
|
||||
where
|
||||
formatFocused = wrap (white "[") (white "]") . magenta . ppWindow
|
||||
formatUnfocused = wrap (lowWhite "[") (lowWhite "]") . blue . ppWindow
|
||||
|
||||
-- | Windows should have *some* title, which should not not exceed a
|
||||
-- sane length.
|
||||
ppWindow :: String -> String
|
||||
ppWindow = xmobarRaw . (\w -> if null w then "untitled" else w) . shorten 30
|
||||
|
||||
blue, lowWhite, magenta, red, white, yellow :: String -> String
|
||||
magenta = xmobarColor "#ff79c6" ""
|
||||
blue = xmobarColor "#bd93f9" ""
|
||||
white = xmobarColor "#f8f8f2" ""
|
||||
yellow = xmobarColor "#f1fa8c" ""
|
||||
red = xmobarColor "#ff5555" ""
|
||||
lowWhite = xmobarColor "#bbbbbb" ""
|
||||
|
||||
|
||||
myStartupHook :: X ()
|
||||
myStartupHook = do
|
||||
spawnOnce "trayer --edge top --align right --SetDockType true \
|
||||
\--SetPartialStrut true --expand true --width 5 --transparent true \
|
||||
\--alpha 0 --tint 0x000000 --height 18 --distance 17"
|
||||
spawnOnce "feh --bg-fill --no-fehbg /usr/share/nix.png"
|
||||
|
||||
|
||||
myLayout = avoidStruts $ smartBorders tiled ||| smartBorders (Mirror tiled) ||| smartBorders Full
|
||||
where
|
||||
tiled = Tall nmaster delta ratio
|
||||
nmaster = 1 -- Default number of windows in the master pane
|
||||
ratio = 1/2 -- Default proportion of screen occupied by master pane
|
||||
delta = 3/100 -- Percent of screen to increment by when resizing panes
|
||||
|
||||
-- toggleStrutsKey XConfig {XMonad.modMask = modMask} = (modMask, xK_a)
|
||||
Reference in New Issue
Block a user