diff --git a/README.md b/README.md index e89685ac..949f6b2f 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,10 @@ This repo is managed with Nix + GNU stow nixos-generate-config --no-filesystems --root /mnt --dir . # disko will take care of the file system configuration # put the generated config in the right path and import it - nixos-install --flake .dotfiles# + # We do -j 1 because otherwise the kernel or the fonts might use too much + # memory at the same time and the system will kaput + nixos-install --flake .dotfiles# -j 1 + # profit ``` diff --git a/nix/configurations/installer.nix b/nix/configurations/installer.nix index c821744a..e77b99ad 100644 --- a/nix/configurations/installer.nix +++ b/nix/configurations/installer.nix @@ -70,4 +70,8 @@ boot.extraModprobeConfig = '' options cfg80211 ieee80211_regdom="US" ''; + + # If we run out of memory during building, the machine would hang, and that sucks. + # Nothing worse than restarting the installation from scratch + services.earlyoom.enable = true; } diff --git a/nix/configurations/vanadium/home/xmonad/xmonad.hs b/nix/configurations/vanadium/home/xmonad/xmonad.hs index e2867807..a41e765d 100644 --- a/nix/configurations/vanadium/home/xmonad/xmonad.hs +++ b/nix/configurations/vanadium/home/xmonad/xmonad.hs @@ -2,7 +2,6 @@ import XMonad import XMonad.Actions.CopyWindow -import XMonad.Actions.Sift import XMonad.Actions.Submap import XMonad.Actions.SwapWorkspaces import XMonad.Hooks.DynamicLog @@ -159,19 +158,22 @@ myManageHook = , isPavucontrol --> customFloating centeredFloat , isFeh --> doF copyToAll <> customFloating buttomRightFloat , isMinder --> customFloating centeredFloat - , isFirefoxPip --> doF copyToAll <> customFloating buttomRightFloat , isDiscord --> doShift chatWS , isEvolution --> doShift chatWS , isSignal --> doShift chatWS , isFirefox --> insertPosition Master Newer , isKitty --> insertPosition Below Newer , isNautilus <||> isSioyek --> insertPosition End Older - - , isUtility --> doIgnore - , isDialog --> doF copyToAll <> customFloating centeredFloat - , isEvolutionComposer --> customFloating centeredFloat ] - <> namedScratchpadManageHook myScratchpads + -- Note: some rules here are overlapping, the first one will take the precedence (composeOne) + -- e.g. firefoxpip is a utility window + <> composeOne + [ isFirefoxPip -?> doF copyToAll <> customFloating buttomRightFloat + , isUtility -?> doIgnore + , isDialog -?> customFloating centeredFloat + , isEvolutionComposer -?> customFloating centeredFloat + ] + <> namedScratchpadManageHook myScratchpads -- TODO: is there a way to always open certain sites in new windows in firefox? -- TODO: stop full screen when move happens @@ -264,10 +266,6 @@ keybinds = -- Toggle fullscreen , ((superMask, xK_Escape), sendMessage NextLayout) - -- Sift instead of swap - , ((superMask .|. shiftMask, xK_j), windows siftDown) - , ((superMask .|. shiftMask, xK_k), windows siftUp ) - -- Resize windows , ((superMask, xK_equal ), sendMessage $ IncMasterN 1) , ((superMask, xK_minus ), sendMessage $ IncMasterN -1) diff --git a/nix/configurations/vanadium/nixos/programs.nix b/nix/configurations/vanadium/nixos/programs.nix index 0fbaf33c..74d4be3e 100644 --- a/nix/configurations/vanadium/nixos/programs.nix +++ b/nix/configurations/vanadium/nixos/programs.nix @@ -49,6 +49,9 @@ services.gnome.gnome-keyring.enable = true; services = { + # Since we don't have a lot of swap, we make sure we kill the processes and not halt the machine + earlyoom.enable = true; + postgresql = { enable = true; authentication = lib.mkOverride 10 '' diff --git a/npins/sources.json b/npins/sources.json index ae589196..a1bb31dc 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -71,9 +71,9 @@ }, "branch": "taiwanese", "submodules": true, - "revision": "48a7a51516302e070479156b54d2911ba9fbfce8", + "revision": "cba16e03fd43b1ee8a15d20e14ecf0fb1c6762fa", "url": null, - "hash": "07d2mzjnggbxlpqarcj65xdndkqxcab38lkbbqh65cyfqzqahdg0", + "hash": "0ryb3cng4py2zrm95p5ial9w13p7w4ws0bl0lddrij1sq42kzg8l", "frozen": true }, "flake-compat": {