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