Compare commits

...

4 commits

Author SHA1 Message Date
♥ Minnie ♥ b636d31d9d
add bsp layout, update keybinds 2024-11-09 09:32:31 +08:00
♥ Minnie ♥ 186901ff91
install cava 2024-11-09 08:12:55 +08:00
♥ Minnie ♥ a1d5b5a23b
remove some unstable packages 2024-11-09 08:11:53 +08:00
♥ Minnie ♥ 6c8e3bca1e
bump inputs 2024-11-09 08:06:59 +08:00
5 changed files with 97 additions and 65 deletions

View file

@ -31,11 +31,11 @@
"pre-commit-hooks": "pre-commit-hooks"
},
"locked": {
"lastModified": 1727102360,
"narHash": "sha256-ZDqf33OAsr46TlP7TXbxmEf48xenYA3iSLs9441fYbQ=",
"lastModified": 1729172588,
"narHash": "sha256-BLAyMpW3onKZ0tOfXRY26baJL9fZ/OogccFWO0uNyuw=",
"owner": "oddlama",
"repo": "agenix-rekey",
"rev": "62da71e7eadf6b9b52e831d2e516937c30a5f712",
"rev": "0488a23f882df0de8107e46da88177bd038ab4d2",
"type": "github"
},
"original": {
@ -52,11 +52,11 @@
]
},
"locked": {
"lastModified": 1724087918,
"narHash": "sha256-aRBnAwJAQUPAGoPijHavx5ML5VJJh9+ub3v2+ebaUSQ=",
"lastModified": 1730074366,
"narHash": "sha256-u8aVS/u/CSOt4M+VEdFNiVRZt1YsM00i7sF8OVDGi6Q=",
"ref": "refs/heads/main",
"rev": "6b6338280dce0c183c0d3ea964cd981e6bf10734",
"revCount": 20,
"rev": "54ec36a05d01e506b789fd4b5b825a3012bf7a22",
"revCount": 24,
"type": "git",
"url": "https://codeberg.org/kampka/nix-flake-crowdsec.git"
},
@ -432,11 +432,11 @@
},
"impermanence": {
"locked": {
"lastModified": 1727556076,
"narHash": "sha256-5Iplxbdn/7kQp4UYXMnUMFL2i2lyysOhRyzvvtPe1Qc=",
"lastModified": 1730403150,
"narHash": "sha256-W1FH5aJ/GpRCOA7DXT/sJHFpa5r8sq2qAUncWwRZ3Gg=",
"owner": "nix-community",
"repo": "impermanence",
"rev": "fff0d95cf40609941769a443a001b25fb95b68ab",
"rev": "0d09341beeaa2367bac5d718df1404bf2ce45e6f",
"type": "github"
},
"original": {
@ -474,11 +474,11 @@
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1727574772,
"narHash": "sha256-bPoftKOe6oWR2o5jgLQjmaBNH2ke7+ooDGxlXXIjsBc=",
"lastModified": 1731030299,
"narHash": "sha256-PwtzMWPJhz9Rn/0rzQfMb6icSA6DtJZKCuK88IwFSos=",
"owner": "Infinidoge",
"repo": "nix-minecraft",
"rev": "5ce4fc09d6fcf0b9d801ff3c98da83c56d85e045",
"rev": "11ca743d2e4602d5b8bfc8d65303f969d58ec338",
"type": "github"
},
"original": {
@ -533,11 +533,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1727348695,
"narHash": "sha256-J+PeFKSDV+pHL7ukkfpVzCOO7mBSrrpJ3svwBFABbhI=",
"lastModified": 1730785428,
"narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "1925c603f17fc89f4c8f6bf6f631a802ad85d784",
"rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7",
"type": "github"
},
"original": {
@ -565,11 +565,11 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1727540905,
"narHash": "sha256-40J9tW7Y794J7Uw4GwcAKlMxlX2xISBl6IBigo83ih8=",
"lastModified": 1730883749,
"narHash": "sha256-mwrFF0vElHJP8X3pFCByJR365Q2463ATp2qGIrDUdlE=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "fbca5e745367ae7632731639de5c21f29c8744ed",
"rev": "dba414932936fde69f0606b4f1d87c5bc0003ede",
"type": "github"
},
"original": {
@ -618,11 +618,11 @@
"nixvim": "nixvim_2"
},
"locked": {
"lastModified": 1723638010,
"narHash": "sha256-y+E27++4CuOw0igpc9MpibHV4Id+hxF8qrq4u1vWRyY=",
"lastModified": 1730724774,
"narHash": "sha256-wflPLDTH5AdEDOrOog/D9+ZYuz3x3pHtK3gEHdIJ/K0=",
"ref": "refs/heads/master",
"rev": "07c93c74109273e2b03b6e87b92e645053c5fe87",
"revCount": 19,
"rev": "f6df2dd1a24e31d472803a4e1b61be1dab297381",
"revCount": 20,
"type": "git",
"url": "https://git.sajenim.dev/jasmine/nvim.nix.git"
},

View file

@ -0,0 +1,14 @@
{...}: {
programs.cava = {
enable = true;
settings = {
general.framerate = 60;
input.method = "pulse";
smoothing.noise_reduction = 88;
color = {
background = "'#1d2021'";
foreground = "'#d4be98'";
};
};
};
}

View file

@ -6,6 +6,7 @@
imports = [
./discord
./dunst
./cava
./irc
./mpd
./picom

View file

@ -1,11 +1,11 @@
{pkgs, ...}: {
home = {
packages = with pkgs; [
unstable.blender
freecad # https://discourse.nixos.org/t/error-hash-mismatch-in-fixed-output-derivation/52353
unstable.kicad
unstable.openscad
prusa-slicer # Some error idk fix this later
blender
freecad
kicad
openscad
prusa-slicer
];
};
}

View file

@ -14,6 +14,7 @@ import XMonad.Hooks.ManageDocks
import XMonad.Layout.Spacing
import XMonad.Layout.Renamed
import XMonad.Layout.NoBorders
import XMonad.Layout.BinarySpacePartition
-- Utilities
import XMonad.Util.EZConfig (additionalKeys)
@ -42,62 +43,78 @@ volUp = "pactl set-sink-volume @DEFAULT_SINK@ +10%"
-- | Keybindings
myKeys =
-- launching and killing programs
[ ((myModMask, xK_n ), spawn myTerminal ) -- %! Launch terminal
, ((myModMask, xK_e ), spawn myLauncher ) -- %! Launch rofi
, ((myModMask, xK_s ), spawn myScrot ) -- %! Take screenshot
, ((myModMask, xK_Escape ), kill ) -- %! Close the focused window
, ((myModMask .|. controlMask, xK_Escape ), io exitSuccess ) -- %! Quit xmonad
[ ((myModMask, xK_Return), spawn myTerminal ) -- %! Launch terminal
, ((myModMask, xK_Tab ), spawn myLauncher ) -- %! Launch rofi
, ((myModMask, xK_s ), spawn myScrot ) -- %! Take screenshot
, ((myModMask, xK_Escape), kill ) -- %! Close the focused window
, ((myModMask .|. controlMask, xK_Escape), io exitSuccess ) -- %! Quit xmonad
-- multimedia
, ((noModMask, xF86XK_AudioPlay ), spawn "mpc toggle" ) -- %! Play/Pause music
, ((noModMask, xF86XK_AudioStop ), spawn "mpc stop" ) -- %! Stop music
, ((noModMask, xF86XK_AudioNext ), spawn "mpc next" ) -- %! Next track
, ((noModMask, xF86XK_AudioPrev ), spawn "mpc prev" ) -- %! Previous track
, ((noModMask, xF86XK_AudioLowerVolume ), spawn volDown ) -- %! Volume down
, ((noModMask, xF86XK_AudioRaiseVolume ), spawn volUp ) -- %! Volume up
, ((noModMask, xF86XK_AudioPlay ), spawn "mpc toggle") -- %! Play/Pause music
, ((noModMask, xF86XK_AudioStop ), spawn "mpc stop" ) -- %! Stop music
, ((noModMask, xF86XK_AudioNext ), spawn "mpc next" ) -- %! Next track
, ((noModMask, xF86XK_AudioPrev ), spawn "mpc prev" ) -- %! Previous track
, ((noModMask, xF86XK_AudioLowerVolume ), spawn volDown ) -- %! Volume down
, ((noModMask, xF86XK_AudioRaiseVolume ), spawn volUp ) -- %! Volume up
-- layouts
, ((myModMask, xK_t ), sendMessage $ JumpToLayout "spacing tiled") -- %! Jump to our tiled layout
, ((myModMask, xK_m ), sendMessage $ JumpToLayout "maximized" ) -- %! Jump to our maximized layout
, ((myModMask, xK_f ), sendMessage $ JumpToLayout "fullscreen" ) -- %! Jump to our fullscreen layout
, ((myModMask .|. shiftMask, xK_t ), withFocused $ windows . W.sink ) -- %! Push window back into tiling
, ((myModMask, xK_t ), sendMessage $ JumpToLayout "tile") -- %! Jump to our tiled layout
, ((myModMask, xK_b ), sendMessage $ JumpToLayout "bsp" ) -- %! Jump to our bsp layout
, ((myModMask, xK_m ), sendMessage $ JumpToLayout "max" ) -- %! Jump to our maximized layout
, ((myModMask, xK_f ), sendMessage $ JumpToLayout "full") -- %! Jump to our fullscreen layout
, ((myModMask .|. shiftMask, xK_t ), withFocused $ windows . W.sink ) -- %! Push window back into tiling
-- window stack
, ((myModMask, xK_Down ), windows W.focusDown ) -- %! Move focus to the next window
, ((myModMask, xK_Up ), windows W.focusUp ) -- %! Move focus to the previous window
, ((myModMask .|. shiftMask, xK_Down ), windows W.swapDown ) -- %! Swap the focused window with the next window
, ((myModMask .|. shiftMask, xK_Up ), windows W.swapUp ) -- %! Swap the focused window with the previous window
, ((myModMask, xK_Down ), windows W.focusDown ) -- %! Move focus to the next window
, ((myModMask, xK_Up ), windows W.focusUp ) -- %! Move focus to the previous window
, ((myModMask .|. shiftMask, xK_Down ), windows W.swapDown ) -- %! Swap the focused window with the next window
, ((myModMask .|. shiftMask, xK_Up ), windows W.swapUp ) -- %! Swap the focused window with the previous window
-- master slave
, ((myModMask, xK_Return ), windows W.focusMaster ) -- %! Move focus to the master window
, ((myModMask .|. shiftMask, xK_Return ), windows W.swapMaster ) -- %! Swap the focused window with the master window
, ((myModMask, xK_Page_Up ), sendMessage Shrink ) -- %! Shrink the master area
, ((myModMask, xK_Page_Down), sendMessage Expand ) -- %! Expand the master area
, ((myModMask .|. shiftMask, xK_Page_Up ), sendMessage (IncMasterN 1) ) -- %! Increase the number of windows in the master area
, ((myModMask .|. shiftMask, xK_Page_Down), sendMessage (IncMasterN (-1)) ) -- %! Decrease the number of windows in the master area
, ((myModMask, xK_space ), windows W.focusMaster ) -- %! Move focus to the master window
, ((myModMask .|. shiftMask, xK_space ), windows W.swapMaster ) -- %! Swap the focused window with the master window
, ((myModMask, xK_Page_Up ), sendMessage Shrink ) -- %! Shrink the master area
, ((myModMask, xK_Page_Down), sendMessage Expand ) -- %! Expand the master area
, ((myModMask .|. shiftMask, xK_Page_Up ), sendMessage (IncMasterN 1) ) -- %! Increase the number of windows in the master area
, ((myModMask .|. shiftMask, xK_Page_Down), sendMessage (IncMasterN (-1)) ) -- %! Decrease the number of windows in the master area
-- workspaces
, ((myModMask, xK_Right ), moveTo Next hiddenWS ) -- %! Move focus to the next hidden workspace
, ((myModMask, xK_Left ), moveTo Prev hiddenWS ) -- %! Move focus to the previous hidden workspace
, ((myModMask .|. shiftMask, xK_Right ), shiftTo Next hiddenWS ) -- %! Move focused window to the next hidden workspace
, ((myModMask .|. shiftMask, xK_Left ), shiftTo Prev hiddenWS ) -- %! Move focused window to the previous hidden workspace
, ((myModMask, xK_Right ), moveTo Next hiddenWS ) -- %! Move focus to the next hidden workspace
, ((myModMask, xK_Left ), moveTo Prev hiddenWS ) -- %! Move focus to the previous hidden workspace
, ((myModMask .|. shiftMask, xK_Right ), shiftTo Next hiddenWS ) -- %! Move focused window to the next hidden workspace
, ((myModMask .|. shiftMask, xK_Left ), shiftTo Prev hiddenWS ) -- %! Move focused window to the previous hidden workspace
-- monitors
, ((myModMask, xK_End ), nextScreen ) -- %! Move focus to the next screen
, ((myModMask, xK_Home ), prevScreen ) -- %! Move focus to the previous screen
, ((myModMask .|. shiftMask, xK_End ), shiftNextScreen ) -- %! Move focused window to the next screen
, ((myModMask .|. shiftMask, xK_Home ), shiftPrevScreen ) -- %! Move focused window to the previous screen
, ((myModMask, xK_End ), nextScreen ) -- %! Move focus to the next screen
, ((myModMask, xK_Home ), prevScreen ) -- %! Move focus to the previous screen
, ((myModMask .|. shiftMask, xK_End ), shiftNextScreen ) -- %! Move focused window to the next screen
, ((myModMask .|. shiftMask, xK_Home ), shiftPrevScreen ) -- %! Move focused window to the previous screen
-- binary space partition
, ((myModMask .|. mod1Mask, xK_Right ), sendMessage $ ExpandTowardsBy R 0.01) -- %! Expand window towards the right
, ((myModMask .|. mod1Mask, xK_Left ), sendMessage $ ExpandTowardsBy L 0.01) -- %! Expand window towards the left
, ((myModMask .|. mod1Mask, xK_Down ), sendMessage $ ExpandTowardsBy D 0.01) -- %! Expand window downwards
, ((myModMask .|. mod1Mask, xK_Up ), sendMessage $ ExpandTowardsBy U 0.01) -- %! Expand window upwards
, ((myModMask .|. mod1Mask .|. controlMask, xK_Right ), sendMessage $ ShrinkFromBy R 0.01) -- %! Shrink window from the right
, ((myModMask .|. mod1Mask .|. controlMask, xK_Left ), sendMessage $ ShrinkFromBy L 0.01) -- %! Shrink window from the left
, ((myModMask .|. mod1Mask .|. controlMask, xK_Down ), sendMessage $ ShrinkFromBy D 0.01) -- %! Shrink window downwards
, ((myModMask .|. mod1Mask .|. controlMask, xK_Up ), sendMessage $ ShrinkFromBy U 0.01) -- %! Shrink window upwards
, ((myModMask .|. mod1Mask, xK_Page_Up ), sendMessage Rotate ) -- %! Rotate a split (horizontal/vertical) in the BSP
, ((myModMask .|. mod1Mask, xK_Page_Down), sendMessage Swap ) -- %! Swap the left child of a split with the right child of split
, ((myModMask .|. mod1Mask, xK_Home ), sendMessage $ SplitShift Prev ) -- %! Shift window by splitting previous neighbour
, ((myModMask .|. mod1Mask, xK_End ), sendMessage $ SplitShift Next ) -- %! Shift window by splitting next neighbour
]
-- | Layouts
myLayout = tiled ||| max ||| full
myLayout = tile ||| bsp ||| max ||| full
where
-- Add a configurable amount of space around windows.
gaps = spacingRaw False (Border 10 10 10 10) True (Border 10 10 10 10) True
-- Our layouts
tiled = renamed [Replace "spacing tiled"] . avoidStruts . gaps $ Tall nmaster delta ratio
max = renamed [Replace "maximized" ] . avoidStruts . gaps $ Full
full = renamed [Replace "fullscreen" ] . noBorders $ Full
tile = renamed [Replace "tile"] . avoidStruts . gaps $ Tall nmaster delta ratio
bsp = renamed [Replace "bsp" ] . avoidStruts . gaps $ emptyBSP
max = renamed [Replace "max" ] . avoidStruts . gaps $ Full
full = renamed [Replace "full"] . noBorders $ Full
-- Layout settings
nmaster = 1 -- Default number of windows in the master pane
ratio = 1/2 -- Default proportion of screen occupied by master pane