home:natto: switched to xmonad+xmobar
This commit is contained in:
@@ -6,9 +6,10 @@
|
||||
package = pkgs.neovim-nightly;
|
||||
defaultEditor = true;
|
||||
configure = {
|
||||
customRC ="lua << EOF\n" + builtins.readFile ./nvim/init.lua + "\nEOF\n";
|
||||
customRC = "lua << EOF\n" + builtins.readFile ./nvim/init.lua + "\nEOF\n";
|
||||
packages.myVimPackage = with pkgs.vimPlugins; {
|
||||
start = [
|
||||
nvim-colorizer-lua
|
||||
auto-pairs
|
||||
vim-floaterm
|
||||
vim-closetag
|
||||
@@ -22,6 +23,7 @@
|
||||
vim-rooter
|
||||
vim-polyglot
|
||||
nvim-tree-lua
|
||||
indentLine
|
||||
(gruvbox.overrideAttrs (oa: { patches = [ ./nvim/gruvbox.patch ]; }))
|
||||
(pkgs.vimUtils.buildVimPlugin {
|
||||
name = "presence-nvim";
|
||||
@@ -38,4 +40,3 @@
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
@@ -41,6 +41,7 @@ set("lazyredraw")
|
||||
set("timeoutlen=100")
|
||||
set("clipboard=unnamedplus")
|
||||
|
||||
|
||||
--KEYBINDS
|
||||
|
||||
--Colemak-DH bind fuction for hjkl [mnei])
|
||||
@@ -133,8 +134,8 @@ vim.g.nvim_tree_window_picker_exclude = {
|
||||
['buftype'] = { 'terminal' }
|
||||
}
|
||||
bind('n', "<M-o>", ":NvimTreeToggle<CR>", {noremap=true, silent=true})
|
||||
--bind('n', "<Space>r", ":NvimTreeRefresh<CR>", {noremap=true, silent=true})
|
||||
--bind('n', "<Space>f", ":NvimTreeFindFile<CR>", {noremap=true, silent=true})
|
||||
bind('n', "<Space>r", ":NvimTreeRefresh<CR>", {noremap=true, silent=true})
|
||||
bind('n', "<Space>f", ":NvimTreeFindFile<CR>", {noremap=true, silent=true})
|
||||
|
||||
--gruvbox
|
||||
vim.g.gruvbox_italic=1
|
||||
@@ -317,3 +318,5 @@ local servers = { "clangd", "rust_analyzer", "tsserver", "jedi_language_server"
|
||||
for _, lsp in ipairs(servers) do
|
||||
nvim_lsp[lsp].setup { on_attach = on_attach }
|
||||
end
|
||||
|
||||
require'colorizer'.setup()
|
||||
|
24
home/config/xmonad/xmobar.hs
Normal file
24
home/config/xmonad/xmobar.hs
Normal file
@@ -0,0 +1,24 @@
|
||||
Config {
|
||||
position = Static { xpos = 0 , ypos = 0, width = 1805, height = 23 },
|
||||
font = "xft:Fira Mono:style=Regular:antialias=true:pixelsize=16"
|
||||
additionalFonts = [ "xft:Font Awesome 5 Free Solid:pixelsize=15", "xft:Font Awesome 5 Brands:pixelsize=15" ]
|
||||
bgColor = "#1d2021",
|
||||
fgColor = "#d5c4a1",
|
||||
lowerOnStart = False,
|
||||
overrideRedirect = False,
|
||||
allDesktops = True,
|
||||
persistent = True,
|
||||
commands = [
|
||||
Run MultiCpu ["-t","<fn=1>\xf2db</fn> <total>","-L","20","-H","80","-h","#D3869B","-l","#8EC07C","-n","#EBDBB2"] 10,
|
||||
Run Memory ["-t","<fn=1>\xf538</fn> <usedratio>","-H","12288","-L","6144","-h","#D3869B","-l","#8EC07C","-n","#EBDBB2"] 10,
|
||||
Run Network "wlp0s20f3" ["-t","<fn=1>\xf1eb</fn> <fc=#fabd2f><rx>/<tx></fc>"] 10,
|
||||
Run Date "<fn=1>\xf073</fn> %b, %_d ║%l:%M:%S " "date" 10,
|
||||
Run MPD ["-t", "<fn=1>\xf001</fn> <state>: <title>", "--", "-P", ">>", "-Z", "|", "-S", "><", "-h", "127.0.0.1", "-p", "6600"] 10,
|
||||
Run Com "pamixer" ["--get-volume"] "" 10,
|
||||
Run UnsafeStdinReader
|
||||
],
|
||||
sepChar = "*",
|
||||
alignSep = "--",
|
||||
template = "*UnsafeStdinReader* ║ *mpd* -- *multicpu*% ║ *memory*% ║ *wlp0s20f3* ║ <fn=1></fn> <fc=#83a598>*pamixer*%</fc> ║ <fc=#ebdbb2>*date*</fc>"
|
||||
}
|
||||
|
173
home/config/xmonad/xmonad.hs
Normal file
173
home/config/xmonad/xmonad.hs
Normal file
@@ -0,0 +1,173 @@
|
||||
import System.IO
|
||||
import System.Exit
|
||||
import XMonad
|
||||
import XMonad.Config.Desktop
|
||||
import XMonad.Layout.Fullscreen
|
||||
import XMonad.Hooks.EwmhDesktops
|
||||
import XMonad.Hooks.DynamicLog
|
||||
import XMonad.Layout.NoBorders
|
||||
import XMonad.Layout.Spacing (smartSpacing)
|
||||
import XMonad.Layout.Spiral
|
||||
import XMonad.Layout.Tabbed
|
||||
import XMonad.Layout.ThreeColumns
|
||||
import XMonad.Layout.ResizableTile
|
||||
import XMonad.Layout.ToggleLayouts (ToggleLayout(..), toggleLayouts)
|
||||
import XMonad.Hooks.ManageDocks
|
||||
import XMonad.Util.Run (spawnPipe)
|
||||
import qualified XMonad.StackSet as W
|
||||
import qualified Data.Map as M
|
||||
|
||||
myBorderWidth = 2
|
||||
myTerminal = "/usr/bin/env st"
|
||||
myFocusFollowsMouse = True
|
||||
myNormalBorderColor = "#1d2021"
|
||||
myModMask = mod4Mask
|
||||
myFocusedBorderColor = "#d5c4a1"
|
||||
myManageHook = composeAll
|
||||
[ className =? "mpv" --> doFloat
|
||||
, className =? "Discord" --> doFloat ]
|
||||
|
||||
myWorkspaces = clickable $ ["I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX" ]
|
||||
where clickable l = ["<action=`xdotool key super+" ++ show (n) ++ "`>" ++ ws ++ "</action>" | (i,ws) <- zip [1..9] l, let n = i ]
|
||||
|
||||
myKeys conf@(XConfig {XMonad.modMask = modMask}) = M.fromList $
|
||||
[ ((modMask, xK_Return),
|
||||
spawn $ XMonad.terminal conf)
|
||||
|
||||
, ((modMask, xK_d),
|
||||
spawn "/usr/bin/env dmenu_run -l 20")
|
||||
|
||||
, ((shiftMask, xK_Print),
|
||||
spawn "flameshot gui -p /home/natto/Pictures")
|
||||
|
||||
, ((0, xK_Print),
|
||||
spawn "flameshot full -p /home/natto/Pictures")
|
||||
|
||||
, ((mod1Mask, xK_Print),
|
||||
spawn "flameshot full -p /home/natto/Pictures -d 10000")
|
||||
|
||||
, ((modMask, xK_p),
|
||||
spawn "mpc toggle")
|
||||
|
||||
, ((modMask, xK_h),
|
||||
spawn "mpc next")
|
||||
|
||||
, ((modMask, xK_k),
|
||||
spawn "mpc prev")
|
||||
|
||||
, ((modMask .|. shiftMask, xK_a),
|
||||
spawn "mpc seek -00:00:05")
|
||||
|
||||
, ((modMask .|. shiftMask, xK_s),
|
||||
spawn "mpc seek +00:00:05")
|
||||
|
||||
, ((modMask .|. shiftMask, xK_period),
|
||||
spawn "pamixer --allow-boost -i 5")
|
||||
|
||||
, ((modMask .|. shiftMask, xK_comma),
|
||||
spawn "pamixer -d 5")
|
||||
|
||||
, ((modMask .|. shiftMask, xK_q),
|
||||
kill)
|
||||
|
||||
, ((modMask, xK_space),
|
||||
sendMessage NextLayout)
|
||||
|
||||
, ((modMask, xK_f),
|
||||
sendMessage (Toggle "Full"))
|
||||
|
||||
, ((modMask .|. shiftMask, xK_space),
|
||||
setLayout $ XMonad.layoutHook conf)
|
||||
|
||||
, ((modMask, xK_r),
|
||||
refresh)
|
||||
|
||||
, ((modMask, xK_n),
|
||||
windows W.focusDown)
|
||||
|
||||
, ((modMask, xK_e), windows W.focusUp )
|
||||
|
||||
, ((modMask .|. shiftMask, xK_m),
|
||||
windows W.focusMaster )
|
||||
|
||||
, ((modMask .|. shiftMask, xK_Return),
|
||||
windows W.swapMaster)
|
||||
|
||||
, ((modMask .|. shiftMask, xK_n),
|
||||
windows W.swapDown )
|
||||
|
||||
, ((modMask .|. shiftMask, xK_e),
|
||||
windows W.swapUp )
|
||||
|
||||
, ((mod1Mask, xK_m),
|
||||
sendMessage Shrink)
|
||||
|
||||
, ((mod1Mask, xK_i),
|
||||
sendMessage Expand)
|
||||
|
||||
, ((mod1Mask, xK_n),
|
||||
sendMessage MirrorShrink)
|
||||
|
||||
, ((mod1Mask, xK_e),
|
||||
sendMessage MirrorExpand)
|
||||
|
||||
, ((modMask, xK_t),
|
||||
withFocused $ windows . W.sink)
|
||||
|
||||
, ((modMask, xK_comma),
|
||||
sendMessage (IncMasterN 1))
|
||||
|
||||
, ((modMask, xK_period),
|
||||
sendMessage (IncMasterN (-1)))
|
||||
|
||||
, ((modMask .|. mod1Mask, xK_f),
|
||||
io (exitWith ExitSuccess))
|
||||
|
||||
, ((modMask .|. mod1Mask, xK_r),
|
||||
restart "xmonad" True)
|
||||
]
|
||||
++
|
||||
[((m .|. modMask, k), windows $ f i)
|
||||
| (i, k) <- zip (XMonad.workspaces conf) [xK_1 .. xK_9]
|
||||
, (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]]
|
||||
|
||||
myLayoutHook = toggleLayouts (noBorders Full) ( smartSpacing 8 $ smartBorders $ avoidStruts (
|
||||
spiral (1/1) |||
|
||||
tabbed shrinkText tabConfig |||
|
||||
ThreeCol 1 (3/100) (1/2) |||
|
||||
Tall 1 (3/100) (1/2) |||
|
||||
Mirror (Tall 1 (3/100) (1/2)) |||
|
||||
Full))
|
||||
|
||||
tabConfig = defaultTheme {
|
||||
activeTextColor = "#1d2021",
|
||||
activeColor = "#d5c4a1",
|
||||
inactiveTextColor = "#d5c4a1",
|
||||
inactiveColor = "#1d2021"
|
||||
}
|
||||
|
||||
myXmobarrc = "~/.xmonad/lib/xmobar.hs"
|
||||
|
||||
main = do xmproc <- spawnPipe ("xmobar " ++ myXmobarrc)
|
||||
xmonad $ ewmh desktopConfig
|
||||
{ borderWidth = myBorderWidth
|
||||
, manageHook = manageDocks <+> myManageHook
|
||||
, terminal = myTerminal
|
||||
, focusFollowsMouse = myFocusFollowsMouse
|
||||
, normalBorderColor = myNormalBorderColor
|
||||
, layoutHook = myLayoutHook
|
||||
, modMask = myModMask
|
||||
, keys = myKeys
|
||||
, focusedBorderColor = myFocusedBorderColor
|
||||
, workspaces = myWorkspaces
|
||||
, logHook = dynamicLogWithPP xmobarPP
|
||||
{ ppOutput = hPutStrLn xmproc
|
||||
, ppCurrent = xmobarColor "#b8bb26" "" . wrap "[" "]"
|
||||
, ppVisible = xmobarColor "#b8bb26" ""
|
||||
, ppHidden = xmobarColor "#d3869b" ""
|
||||
, ppTitle = xmobarColor "#ebdbb2" "" . shorten 60
|
||||
, ppLayout = const ""
|
||||
, ppUrgent = xmobarColor "#fabd2f" "" . wrap "!" ""
|
||||
, ppSep = "<fc=#83a598> ║ </fc>"
|
||||
}
|
||||
}
|
@@ -72,10 +72,11 @@ in
|
||||
sxiv
|
||||
vim
|
||||
feh
|
||||
dwm
|
||||
dmenu
|
||||
st
|
||||
neofetch
|
||||
xmobar
|
||||
xdotool
|
||||
];
|
||||
|
||||
file = {
|
||||
|
@@ -10,8 +10,8 @@ in
|
||||
''
|
||||
shadow = true;
|
||||
shadow-radius = 20;
|
||||
shadow-offset-x = -20;
|
||||
shadow-offset-y = -20;
|
||||
shadow-offset-x = 30;
|
||||
shadow-offset-y = 30;
|
||||
blurExclude = [ "class_g = 'dwm'" ]
|
||||
|
||||
inactive-opacity = 0.92;
|
||||
@@ -36,7 +36,7 @@ in
|
||||
popup_menu={opacity=0.8;};
|
||||
dropdown_menu={opacity=0.8;};
|
||||
};
|
||||
shadow-exclude = ["x = 0 && y = 0 && override_redirect = true"]
|
||||
shadow-exclude = ["x = 0 && y = 0 && override_redirect = true", "class_g = 'xmobar' && argb", "class_g = 'stalonetray' && argb"]
|
||||
'';
|
||||
|
||||
};
|
||||
@@ -75,5 +75,18 @@ in
|
||||
'';
|
||||
network.startWhenNeeded = true;
|
||||
};
|
||||
stalonetray = {
|
||||
enable = true;
|
||||
config = {
|
||||
geometry = "5x1+1805";
|
||||
window_type = "dock";
|
||||
sticky = true;
|
||||
icon_size = 23;
|
||||
background = "#1d2021";
|
||||
};
|
||||
extraConfig = ''
|
||||
kludges force_icons_size
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@@ -1,13 +1,23 @@
|
||||
{pkgs, config, ...}:
|
||||
{
|
||||
xsession = {
|
||||
windowManager.bspwm = {
|
||||
enable = false;
|
||||
extraConfig = builtins.readFile ./config/bspwm/bspwmrc;
|
||||
};
|
||||
pointerCursor = {
|
||||
package = pkgs.numix-cursor-theme;
|
||||
name = "Numix";
|
||||
};
|
||||
windowManager = {
|
||||
bspwm = {
|
||||
enable = false;
|
||||
extraConfig = builtins.readFile ./config/bspwm/bspwmrc;
|
||||
};
|
||||
xmonad = {
|
||||
enable = true;
|
||||
enableContribAndExtras = true;
|
||||
config = ../config/xmonad/xmonad.hs;
|
||||
libFiles = {
|
||||
"xmobar.hs" = ../config/xmonad/xmobar.hs;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@@ -2,12 +2,7 @@
|
||||
|
||||
{
|
||||
boot = {
|
||||
kernelPackages = pkgs.linuxPackagesFor (pkgs.linux_zen.override {
|
||||
structuredExtraConfig = with lib.kernel; {
|
||||
CONFIG_SCHED_MUQSS = yes;
|
||||
};
|
||||
ignoreConfigErrors = true;
|
||||
});
|
||||
kernelPackages = pkgs.linuxPackages_lqx;
|
||||
initrd={
|
||||
availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod"];
|
||||
kernelModules = [ ];
|
||||
|
@@ -43,6 +43,12 @@
|
||||
options = ["compress-force=zstd:1"];
|
||||
};
|
||||
swapDevices = [ {device = "/dev/nvme0n1p7";} ];
|
||||
zramSwap = {
|
||||
enable = true;
|
||||
algorithm = "zstd";
|
||||
memoryPercent = 50;
|
||||
priority = -1;
|
||||
};
|
||||
powerManagement = {
|
||||
enable = true;
|
||||
cpuFreqGovernor = "powersave";
|
||||
|
@@ -23,6 +23,8 @@
|
||||
fonts.fonts = with pkgs; [
|
||||
fira-mono
|
||||
noto-fonts-cjk
|
||||
nerdfonts
|
||||
font-awesome
|
||||
];
|
||||
users.users.natto = {
|
||||
isNormalUser = true;
|
||||
|
6
overlays/customscripts/src/up
Normal file
6
overlays/customscripts/src/up
Normal file
@@ -0,0 +1,6 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#! nix-shell -i bash -p curl
|
||||
for x in $@; do
|
||||
curl -F file=@"$x" --header "key: $FILEHOST_KEY" https://f.weirdnatto.in
|
||||
echo " "
|
||||
done
|
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#! nix-shell -i bash -p curl
|
||||
for x in $@; do
|
||||
curl -F "file=@\"$x\"" https://x0.at/
|
||||
curl -F file=@"$x" https://x0.at/
|
||||
echo " "
|
||||
done
|
||||
|
Reference in New Issue
Block a user