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

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

View File

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

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
vim
feh
dwm
dmenu
st
neofetch
xmobar
xdotool
];
file = {

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

View File

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

View File

@@ -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 = [ ];

View File

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

View File

@@ -23,6 +23,8 @@
fonts.fonts = with pkgs; [
fira-mono
noto-fonts-cjk
nerdfonts
font-awesome
];
users.users.natto = {
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
#! 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