home:natto: switched to xmonad+xmobar
This commit is contained in:
@@ -6,9 +6,10 @@
|
|||||||
package = pkgs.neovim-nightly;
|
package = pkgs.neovim-nightly;
|
||||||
defaultEditor = true;
|
defaultEditor = true;
|
||||||
configure = {
|
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; {
|
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 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -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()
|
||||||
|
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
|
sxiv
|
||||||
vim
|
vim
|
||||||
feh
|
feh
|
||||||
dwm
|
|
||||||
dmenu
|
dmenu
|
||||||
st
|
st
|
||||||
neofetch
|
neofetch
|
||||||
|
xmobar
|
||||||
|
xdotool
|
||||||
];
|
];
|
||||||
|
|
||||||
file = {
|
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
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@@ -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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@@ -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 = [ ];
|
||||||
|
@@ -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";
|
||||||
|
@@ -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;
|
||||||
|
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
|
#!/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
|
||||||
|
Reference in New Issue
Block a user