home:natto: switched to xmonad+xmobar

This commit is contained in:
2021-06-16 01:36:39 +05:30
parent f27ecaf54f
commit ba8dbff511
12 changed files with 253 additions and 19 deletions

View File

@@ -9,6 +9,7 @@
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; { packages.myVimPackage = with pkgs.vimPlugins; {
start = [ start = [
nvim-colorizer-lua
auto-pairs auto-pairs
vim-floaterm vim-floaterm
vim-closetag vim-closetag
@@ -22,6 +23,7 @@
vim-rooter vim-rooter
vim-polyglot vim-polyglot
nvim-tree-lua nvim-tree-lua
indentLine
(gruvbox.overrideAttrs (oa: { patches = [ ./nvim/gruvbox.patch ]; })) (gruvbox.overrideAttrs (oa: { patches = [ ./nvim/gruvbox.patch ]; }))
(pkgs.vimUtils.buildVimPlugin { (pkgs.vimUtils.buildVimPlugin {
name = "presence-nvim"; name = "presence-nvim";
@@ -38,4 +40,3 @@
}; };
}; };
} }

View File

@@ -41,6 +41,7 @@ set("lazyredraw")
set("timeoutlen=100") set("timeoutlen=100")
set("clipboard=unnamedplus") set("clipboard=unnamedplus")
--KEYBINDS --KEYBINDS
--Colemak-DH bind fuction for hjkl [mnei]) --Colemak-DH bind fuction for hjkl [mnei])
@@ -133,8 +134,8 @@ vim.g.nvim_tree_window_picker_exclude = {
['buftype'] = { 'terminal' } ['buftype'] = { 'terminal' }
} }
bind('n', "<M-o>", ":NvimTreeToggle<CR>", {noremap=true, silent=true}) bind('n', "<M-o>", ":NvimTreeToggle<CR>", {noremap=true, silent=true})
--bind('n', "<Space>r", ":NvimTreeRefresh<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>f", ":NvimTreeFindFile<CR>", {noremap=true, silent=true})
--gruvbox --gruvbox
vim.g.gruvbox_italic=1 vim.g.gruvbox_italic=1
@@ -317,3 +318,5 @@ local servers = { "clangd", "rust_analyzer", "tsserver", "jedi_language_server"
for _, lsp in ipairs(servers) do for _, lsp in ipairs(servers) do
nvim_lsp[lsp].setup { on_attach = on_attach } nvim_lsp[lsp].setup { on_attach = on_attach }
end end
require'colorizer'.setup()

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

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

View File

@@ -72,10 +72,11 @@ in
sxiv sxiv
vim vim
feh feh
dwm
dmenu dmenu
st st
neofetch neofetch
xmobar
xdotool
]; ];
file = { file = {

View File

@@ -10,8 +10,8 @@ in
'' ''
shadow = true; shadow = true;
shadow-radius = 20; shadow-radius = 20;
shadow-offset-x = -20; shadow-offset-x = 30;
shadow-offset-y = -20; shadow-offset-y = 30;
blurExclude = [ "class_g = 'dwm'" ] blurExclude = [ "class_g = 'dwm'" ]
inactive-opacity = 0.92; inactive-opacity = 0.92;
@@ -36,7 +36,7 @@ in
popup_menu={opacity=0.8;}; popup_menu={opacity=0.8;};
dropdown_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; 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
'';
};
}; };
} }

View File

@@ -1,13 +1,23 @@
{pkgs, config, ...}: {pkgs, config, ...}:
{ {
xsession = { xsession = {
windowManager.bspwm = {
enable = false;
extraConfig = builtins.readFile ./config/bspwm/bspwmrc;
};
pointerCursor = { pointerCursor = {
package = pkgs.numix-cursor-theme; package = pkgs.numix-cursor-theme;
name = "Numix"; 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;
};
};
};
}; };
} }

View File

@@ -2,12 +2,7 @@
{ {
boot = { boot = {
kernelPackages = pkgs.linuxPackagesFor (pkgs.linux_zen.override { kernelPackages = pkgs.linuxPackages_lqx;
structuredExtraConfig = with lib.kernel; {
CONFIG_SCHED_MUQSS = yes;
};
ignoreConfigErrors = true;
});
initrd={ initrd={
availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod"]; availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod"];
kernelModules = [ ]; kernelModules = [ ];

View File

@@ -43,6 +43,12 @@
options = ["compress-force=zstd:1"]; options = ["compress-force=zstd:1"];
}; };
swapDevices = [ {device = "/dev/nvme0n1p7";} ]; swapDevices = [ {device = "/dev/nvme0n1p7";} ];
zramSwap = {
enable = true;
algorithm = "zstd";
memoryPercent = 50;
priority = -1;
};
powerManagement = { powerManagement = {
enable = true; enable = true;
cpuFreqGovernor = "powersave"; cpuFreqGovernor = "powersave";

View File

@@ -23,6 +23,8 @@
fonts.fonts = with pkgs; [ fonts.fonts = with pkgs; [
fira-mono fira-mono
noto-fonts-cjk noto-fonts-cjk
nerdfonts
font-awesome
]; ];
users.users.natto = { users.users.natto = {
isNormalUser = true; isNormalUser = true;

View 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

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env nix-shell #!/usr/bin/env nix-shell
#! nix-shell -i bash -p curl #! nix-shell -i bash -p curl
for x in $@; do for x in $@; do
curl -F "file=@\"$x\"" https://x0.at/ curl -F file=@"$x" https://x0.at/
echo " " echo " "
done done