mirror of
https://github.com/harryssecret/homelab-nix.git
synced 2025-08-07 22:20:33 +02:00
Compare commits
6 commits
7cd9906bc1
...
5da82a8e80
Author | SHA1 | Date | |
---|---|---|---|
5da82a8e80 | |||
1de2a5aa0a | |||
7e62493d21 | |||
5e1fbf2fe3 | |||
88d798782c | |||
d9d7ee2ac3 |
18 changed files with 349 additions and 146 deletions
|
@ -6,6 +6,8 @@
|
|||
wl-clipboard
|
||||
xdg-utils
|
||||
sway-contrib.grimshot
|
||||
swaylock
|
||||
swaynotificationcenter
|
||||
];
|
||||
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
|
|
106
flake.lock
generated
106
flake.lock
generated
|
@ -32,11 +32,11 @@
|
|||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731092955,
|
||||
"narHash": "sha256-L1hLXf4IDZ0KoXbFiSNNZJ7IrReEr/J+CLt6Rl4Ea3M=",
|
||||
"lastModified": 1735301051,
|
||||
"narHash": "sha256-jU88Q9tP4vuvWYGQcmOdFwI9e2uMPVYJHbXdiklIH9o=",
|
||||
"owner": "anyrun-org",
|
||||
"repo": "anyrun",
|
||||
"rev": "d2017f224b2bfd7e33573c7070e7c3e2960c7dcc",
|
||||
"rev": "06017e753c8886d5296768dca80745ee09402a2d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -128,11 +128,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1733312601,
|
||||
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
|
||||
"lastModified": 1736143030,
|
||||
"narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
|
||||
"rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -150,11 +150,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1733312601,
|
||||
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
|
||||
"lastModified": 1736143030,
|
||||
"narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
|
||||
"rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -185,18 +185,14 @@
|
|||
"nixpkgs": [
|
||||
"neovim-nightly-overlay",
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-stable": [
|
||||
"neovim-nightly-overlay",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1734797603,
|
||||
"narHash": "sha256-ulZN7ps8nBV31SE+dwkDvKIzvN6hroRY8sYOT0w+E28=",
|
||||
"lastModified": 1737465171,
|
||||
"narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "f0f0dc4920a903c3e08f5bdb9246bb572fcae498",
|
||||
"rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -236,11 +232,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1733333617,
|
||||
"narHash": "sha256-nMMQXREGvLOLvUa0ByhYFdaL0Jov0t1wzLbKjr05P2w=",
|
||||
"lastModified": 1736917206,
|
||||
"narHash": "sha256-JTBWmyGf8K1Rwb+gviHIUzRJk/sITtT+72HXFkTZUjo=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "hercules-ci-effects",
|
||||
"rev": "56f8ea8d502c87cf62444bec4ee04512e8ea24ea",
|
||||
"rev": "afd0a42e8c61ebb56899315ee4084a8b2e4ff425",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -256,11 +252,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1735344290,
|
||||
"narHash": "sha256-oJDtWPH1oJT34RJK1FSWjwX4qcGOBRkcNQPD0EbSfNM=",
|
||||
"lastModified": 1736373539,
|
||||
"narHash": "sha256-dinzAqCjenWDxuy+MqUQq0I4zUSfaCvN9rzuCmgMZJY=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "613691f285dad87694c2ba1c9e6298d04736292d",
|
||||
"rev": "bd65bc3cde04c16755955630b344bc9e35272c56",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -281,11 +277,11 @@
|
|||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1734999862,
|
||||
"narHash": "sha256-CJ3dXoCQzbSR/b8kbswlf/JIGKIN/6c9ywRw2rQAIYY=",
|
||||
"lastModified": 1737701591,
|
||||
"narHash": "sha256-S71nENrb8kBrEvihDD+1mzn5sRrRr1sAaNMkjWDx1h0=",
|
||||
"owner": "nix-community",
|
||||
"repo": "neovim-nightly-overlay",
|
||||
"rev": "0d0beafd94c34915fb951b31e165be5cf1cf3a7c",
|
||||
"rev": "c9248eec123e70ef1132bbedeae22e2af7011095",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -297,11 +293,11 @@
|
|||
"neovim-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1734989976,
|
||||
"narHash": "sha256-DVlI7ua+VOkqC70WpSbJO+FjQyBEarGZnKoql7I7Unk=",
|
||||
"lastModified": 1737675744,
|
||||
"narHash": "sha256-2Q4SNciK6DHC5WknFSbk3aYjorayf9y4uz3tdtl/T1M=",
|
||||
"owner": "neovim",
|
||||
"repo": "neovim",
|
||||
"rev": "c51bf5a6b24928ac04d0bb129b1b424d4c78f28d",
|
||||
"rev": "8bc28978b632362ae658f8d4a6327e07a8b371b2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -317,11 +313,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1733570843,
|
||||
"narHash": "sha256-sQJAxY1TYWD1UyibN/FnN97paTFuwBw3Vp3DNCyKsMk=",
|
||||
"lastModified": 1737504076,
|
||||
"narHash": "sha256-/B4XJnzYU/6K1ZZOBIgsa3K4pqDJrnC2579c44c+4rI=",
|
||||
"owner": "LnL7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "a35b08d09efda83625bef267eb24347b446c80b8",
|
||||
"rev": "65cc1fa8e36ceff067daf6cfb142331f02f524d3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -364,11 +360,11 @@
|
|||
},
|
||||
"nixlib": {
|
||||
"locked": {
|
||||
"lastModified": 1734829460,
|
||||
"narHash": "sha256-dPhc+f2wkmhMqMIfq+hColJdysgVxKP9ilZ5bR0NRZI=",
|
||||
"lastModified": 1736643958,
|
||||
"narHash": "sha256-tmpqTSWVRJVhpvfSN9KXBvKEXplrwKnSZNAoNPf/S/s=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"rev": "0a31e8d833173ae63e43fd9dbff1ccf09c4f778c",
|
||||
"rev": "1418bc28a52126761c02dd3d89b2d8ca0f521181",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -385,11 +381,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1734915500,
|
||||
"narHash": "sha256-A7CTIQ8SW0hfbhKlwK+vSsu4pD+Oaelw3v6goX6go+U=",
|
||||
"lastModified": 1737057290,
|
||||
"narHash": "sha256-3Pe0yKlCc7EOeq1X/aJVDH0CtNL+tIBm49vpepwL1MQ=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixos-generators",
|
||||
"rev": "051d1b2dda3b2e81b38d82e2b691e5c2f4d335f4",
|
||||
"rev": "d002ce9b6e7eb467cd1c6bb9aef9c35d191b5453",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -400,11 +396,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1734856068,
|
||||
"narHash": "sha256-Q+CB1ajsJg4Z9HGHTBAGY1q18KpnnkmF/eCTLUY6FQ0=",
|
||||
"lastModified": 1737557748,
|
||||
"narHash": "sha256-BaMuhctP1x00+8cBE2cJveJQb70/tWHI50MHj/ZrtOY=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "93ff48c9be84a76319dac293733df09bbbe3f25c",
|
||||
"rev": "606996d74f6e2a12635d41c1bf58bfc7ea3bb5ec",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -416,11 +412,11 @@
|
|||
},
|
||||
"nixpkgsSmall": {
|
||||
"locked": {
|
||||
"lastModified": 1735640024,
|
||||
"narHash": "sha256-4I5qiwYmZFygUC3numWaMhStwRYX+Lk0ISddJIoHEwE=",
|
||||
"lastModified": 1737672001,
|
||||
"narHash": "sha256-YnHJJ19wqmibLQdUeq9xzE6CjrMA568KN/lFPuSVs4I=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "bc130b5a632d110d76f1584213eab6e029fd7802",
|
||||
"rev": "035f8c0853c2977b24ffc4d0a42c74f00b182cd8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -432,11 +428,11 @@
|
|||
},
|
||||
"nixpkgsUnstable": {
|
||||
"locked": {
|
||||
"lastModified": 1735471104,
|
||||
"narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=",
|
||||
"lastModified": 1737632463,
|
||||
"narHash": "sha256-38J9QfeGSej341ouwzqf77WIHAScihAKCt8PQJ+NH28=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "88195a94f390381c6afcdaa933c2f6ff93959cb4",
|
||||
"rev": "0aa475546ed21629c4f5bbf90e38c846a99ec9e9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -448,11 +444,11 @@
|
|||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1735531152,
|
||||
"narHash": "sha256-As8I+ebItDKtboWgDXYZSIjGlKeqiLBvjxsQHUmAf1Q=",
|
||||
"lastModified": 1737672001,
|
||||
"narHash": "sha256-YnHJJ19wqmibLQdUeq9xzE6CjrMA568KN/lFPuSVs4I=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "3ffbbdbac0566a0977da3d2657b89cbcfe9a173b",
|
||||
"rev": "035f8c0853c2977b24ffc4d0a42c74f00b182cd8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -516,11 +512,11 @@
|
|||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1734546875,
|
||||
"narHash": "sha256-6OvJbqQ6qPpNw3CA+W8Myo5aaLhIJY/nNFDk3zMXLfM=",
|
||||
"lastModified": 1737411508,
|
||||
"narHash": "sha256-j9IdflJwRtqo9WpM0OfAZml47eBblUHGNQTe62OUqTw=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "ed091321f4dd88afc28b5b4456e0a15bd8374b4d",
|
||||
"rev": "015d461c16678fc02a2f405eb453abb509d4e1d4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -552,11 +548,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1734982074,
|
||||
"narHash": "sha256-N7M37KP7cHWoXicuE536GrVvU8nMDT/gpI1kja2hkdg=",
|
||||
"lastModified": 1737483750,
|
||||
"narHash": "sha256-5An1wq5U8sNycOBBg3nsDDgpwBmR9liOpDGlhliA6Xo=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "e41e948cf097cbf96ba4dff47a30ea6891af9f33",
|
||||
"rev": "f2cc121df15418d028a59c9737d38e3a90fbaf8f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
@ -56,6 +56,9 @@
|
|||
inherit secrets;
|
||||
inherit inputs;
|
||||
};
|
||||
|
||||
system = "x86_64-linux";
|
||||
pkgs = import nixpkgs {inherit system;};
|
||||
in
|
||||
{
|
||||
nixosConfigurations = {
|
||||
|
@ -158,5 +161,8 @@
|
|||
|
||||
# Expose the package set, including overlays, for convenience.
|
||||
darwinPackages = self.darwinConfigurations."iMac-de-Eddie".pkgs;
|
||||
|
||||
packages.miku-cursor-linux = pkgs.callPackage ./packages/miku-cursor.nix {};
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -3,3 +3,6 @@ alias gocode="cd ~/Documents/Code/"
|
|||
kittysay meow
|
||||
eval "$(zoxide init bash)"
|
||||
eval "$(direnv hook bash)"
|
||||
|
||||
# nnn configuration
|
||||
NNN_PLUG='L:nmount'
|
||||
|
|
|
@ -85,7 +85,7 @@ blink=yes
|
|||
|
||||
[colors]
|
||||
# alpha=1.0
|
||||
# background=242424
|
||||
background=20111b
|
||||
# foreground=ffffff
|
||||
# flash=7f7f00
|
||||
# flash-alpha=0.5
|
||||
|
|
88
home-manager/dotfiles/nnn/plugins/nmount
Normal file
88
home-manager/dotfiles/nnn/plugins/nmount
Normal file
|
@ -0,0 +1,88 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
# Description: Toggle mount status of a device using pmount
|
||||
# If the device is not mounted, it will be mounted.
|
||||
# If the device is mounted, it will be unmounted and powered down.
|
||||
#
|
||||
# Dependencies: lsblk, pmount (optional), udisks2
|
||||
#
|
||||
# Usage: Runs `lsblk` on 'l', exits on 'Return`.
|
||||
#
|
||||
# Notes:
|
||||
# - The script uses Linux-specific lsblk to list block devices. Alternatives:
|
||||
# macOS: "diskutil list"
|
||||
# BSD: "geom disk list"
|
||||
# - The script uses udisksctl (from udisks2) to power down devices. This is also Linux-specific.
|
||||
# Users on non-Linux platforms can comment it and use an alternative to power-down disks.
|
||||
#
|
||||
# Shell: POSIX compliant
|
||||
# Author: Arun Prakash Jana
|
||||
|
||||
prompt="device name [e.g. sdXn] ('l'ist, 'q'uit): "
|
||||
|
||||
lsblk
|
||||
|
||||
printf "\nEnsure you aren't still in the mounted device.\n"
|
||||
printf "%s" "$prompt"
|
||||
read -r dev
|
||||
|
||||
while [ -n "$dev" ]; do
|
||||
if [ "$dev" = "l" ]; then
|
||||
lsblk
|
||||
elif [ "$dev" = "q" ]; then
|
||||
exit
|
||||
else
|
||||
# LUKS volumes mounted with udisksctl appear differently than with pmount
|
||||
if grep -qs "$dev " /proc/mounts || [ -n "$(lsblk -n "/dev/$dev" -o MOUNTPOINT)" ]; then
|
||||
sync "$(lsblk -n "/dev/$dev" -o MOUNTPOINT | sed "/^$/d")"
|
||||
if type pumount >/dev/null 2>&1; then
|
||||
pumount "/dev/$dev"
|
||||
exit_code="$?"
|
||||
else
|
||||
# Unlike pmount, udisksctl does not transparently handle LUKS volumes
|
||||
# We need to manually get the unlocked device, unmount it, and then lock the volume
|
||||
if lsblk -n "/dev/$dev" -o FSTYPE | grep "crypto_LUKS" >/dev/null; then
|
||||
dev_map="$(udisksctl info -b /dev/"$dev" | grep "CleartextDevice" | grep -o "dm_2d[[:digit:]]*" | sed "s/_2d/-/")"
|
||||
udisksctl unmount -b "/dev/$dev_map" --no-user-interaction >/dev/null
|
||||
exit_code="$?"
|
||||
udisksctl lock -b "/dev/$dev" --no-user-interaction >/dev/null
|
||||
else
|
||||
udisksctl unmount -b "/dev/$dev" --no-user-interaction >/dev/null
|
||||
exit_code="$?"
|
||||
fi
|
||||
fi
|
||||
if [ $exit_code -eq 0 ]; then
|
||||
echo "/dev/$dev unmounted."
|
||||
if udisksctl power-off -b "/dev/$dev" --no-user-interaction; then
|
||||
echo "/dev/$dev ejected."
|
||||
fi
|
||||
fi
|
||||
elif [ -b "/dev/$dev" ]; then
|
||||
if type pmount >/dev/null 2>&1; then
|
||||
pmount "/dev/$dev"
|
||||
exit_code="$?"
|
||||
else
|
||||
# Unlike pmount, udisksctl does not transparently handle LUKS volumes
|
||||
# We need to manually get the unlocked device and mount that instead of the volume itself
|
||||
if [ "$(lsblk "/dev/$dev" -n -o FSTYPE)" = "crypto_LUKS" ]; then
|
||||
dev_map=$(udisksctl unlock -b "/dev/$dev" --no-user-interaction | grep -o "dm-[[:digit:]]*")
|
||||
udisksctl mount -b "/dev/$dev_map" --no-user-interaction >/dev/null
|
||||
exit_code="$?"
|
||||
else
|
||||
udisksctl mount -b "/dev/$dev" --no-user-interaction >/dev/null
|
||||
exit_code="$?"
|
||||
fi
|
||||
fi
|
||||
if [ $exit_code -eq 0 ]; then
|
||||
sleep 1
|
||||
echo "/dev/$dev mounted to $(lsblk -n "/dev/$dev" -o MOUNTPOINT | sed "/^$/d")."
|
||||
fi
|
||||
else
|
||||
echo "/dev/$dev does not exist or is not a block device."
|
||||
fi
|
||||
fi
|
||||
|
||||
echo
|
||||
printf "%s" "$prompt"
|
||||
read -r dev
|
||||
done
|
|
@ -73,78 +73,78 @@ input * {
|
|||
#
|
||||
# Basics:
|
||||
#
|
||||
# Start a terminal
|
||||
bindsym $mod+Return exec $term
|
||||
# Start a terminal
|
||||
bindsym $mod+Return exec $term
|
||||
|
||||
# Kill focused window
|
||||
bindsym $mod+Shift+q kill
|
||||
# Kill focused window
|
||||
bindsym $mod+Shift+q kill
|
||||
|
||||
# Start your launcher
|
||||
bindsym $mod+d exec $menu
|
||||
# Start your launcher
|
||||
bindsym $mod+d exec $menu
|
||||
|
||||
# Drag floating windows by holding down $mod and left mouse button.
|
||||
# Resize them with right mouse button + $mod.
|
||||
# Despite the name, also works for non-floating windows.
|
||||
# Change normal to inverse to use left mouse button for resizing and right
|
||||
# mouse button for dragging.
|
||||
floating_modifier $mod normal
|
||||
# Drag floating windows by holding down $mod and left mouse button.
|
||||
# Resize them with right mouse button + $mod.
|
||||
# Despite the name, also works for non-floating windows.
|
||||
# Change normal to inverse to use left mouse button for resizing and right
|
||||
# mouse button for dragging.
|
||||
floating_modifier $mod normal
|
||||
|
||||
# Reload the configuration file
|
||||
bindsym $mod+Shift+c reload
|
||||
# Reload the configuration file
|
||||
bindsym $mod+Shift+c reload
|
||||
|
||||
# Exit sway (logs you out of your Wayland session)
|
||||
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
|
||||
# Exit sway (logs you out of your Wayland session)
|
||||
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
|
||||
#
|
||||
# Moving around:
|
||||
#
|
||||
# Move your focus around
|
||||
bindsym $mod+$left focus left
|
||||
bindsym $mod+$down focus down
|
||||
bindsym $mod+$up focus up
|
||||
bindsym $mod+$right focus right
|
||||
# Or use $mod+[up|down|left|right]
|
||||
bindsym $mod+Left focus left
|
||||
bindsym $mod+Down focus down
|
||||
bindsym $mod+Up focus up
|
||||
bindsym $mod+Right focus right
|
||||
# Move your focus around
|
||||
bindsym $mod+$left focus left
|
||||
bindsym $mod+$down focus down
|
||||
bindsym $mod+$up focus up
|
||||
bindsym $mod+$right focus right
|
||||
# Or use $mod+[up|down|left|right]
|
||||
bindsym $mod+Left focus left
|
||||
bindsym $mod+Down focus down
|
||||
bindsym $mod+Up focus up
|
||||
bindsym $mod+Right focus right
|
||||
|
||||
# Move the focused window with the same, but add Shift
|
||||
bindsym $mod+Shift+$left move left
|
||||
bindsym $mod+Shift+$down move down
|
||||
bindsym $mod+Shift+$up move up
|
||||
bindsym $mod+Shift+$right move right
|
||||
# Ditto, with arrow keys
|
||||
bindsym $mod+Shift+Left move left
|
||||
bindsym $mod+Shift+Down move down
|
||||
bindsym $mod+Shift+Up move up
|
||||
bindsym $mod+Shift+Right move right
|
||||
# Move the focused window with the same, but add Shift
|
||||
bindsym $mod+Shift+$left move left
|
||||
bindsym $mod+Shift+$down move down
|
||||
bindsym $mod+Shift+$up move up
|
||||
bindsym $mod+Shift+$right move right
|
||||
# Ditto, with arrow keys
|
||||
bindsym $mod+Shift+Left move left
|
||||
bindsym $mod+Shift+Down move down
|
||||
bindsym $mod+Shift+Up move up
|
||||
bindsym $mod+Shift+Right move right
|
||||
#
|
||||
# Workspaces:
|
||||
#
|
||||
# Switch to workspace
|
||||
bindsym $mod+ampersand workspace 1
|
||||
bindsym $mod+eacute workspace 2
|
||||
bindsym $mod+quotedbl workspace 3
|
||||
bindsym $mod+apostrophe workspace 4
|
||||
bindsym $mod+parenleft workspace 5
|
||||
bindsym $mod+minus workspace 6
|
||||
bindsym $mod+egrave workspace 7
|
||||
bindsym $mod+underscore workspace 8
|
||||
bindsym $mod+ccedilla workspace 9
|
||||
bindsym $mod+agrave workspace 10
|
||||
# Move focused container to workspace
|
||||
bindsym $mod+1 move container to workspace number 1
|
||||
bindsym $mod+2 move container to workspace number 2
|
||||
bindsym $mod+3 move container to workspace number 3
|
||||
bindsym $mod+4 move container to workspace number 4
|
||||
bindsym $mod+5 move container to workspace number 5
|
||||
bindsym $mod+6 move container to workspace number 6
|
||||
bindsym $mod+7 move container to workspace number 7
|
||||
bindsym $mod+8 move container to workspace number 8
|
||||
bindsym $mod+9 move container to workspace number 9
|
||||
bindsym $mod+0 move container to workspace number 10
|
||||
# Note: workspaces can have any name you want, not just numbers.
|
||||
# We just use 1-10 as the default.
|
||||
# Switch to workspace
|
||||
bindsym $mod+ampersand workspace 1
|
||||
bindsym $mod+eacute workspace 2
|
||||
bindsym $mod+quotedbl workspace 3
|
||||
bindsym $mod+apostrophe workspace 4
|
||||
bindsym $mod+parenleft workspace 5
|
||||
bindsym $mod+minus workspace 6
|
||||
bindsym $mod+egrave workspace 7
|
||||
bindsym $mod+underscore workspace 8
|
||||
bindsym $mod+ccedilla workspace 9
|
||||
bindsym $mod+agrave workspace 10
|
||||
# Move focused container to workspace
|
||||
bindsym $mod+1 move container to workspace number 1
|
||||
bindsym $mod+2 move container to workspace number 2
|
||||
bindsym $mod+3 move container to workspace number 3
|
||||
bindsym $mod+4 move container to workspace number 4
|
||||
bindsym $mod+5 move container to workspace number 5
|
||||
bindsym $mod+6 move container to workspace number 6
|
||||
bindsym $mod+7 move container to workspace number 7
|
||||
bindsym $mod+8 move container to workspace number 8
|
||||
bindsym $mod+9 move container to workspace number 9
|
||||
bindsym $mod+0 move container to workspace number 10
|
||||
# Note: workspaces can have any name you want, not just numbers.
|
||||
# We just use 1-10 as the default.
|
||||
#
|
||||
# Layout stuff:
|
||||
#
|
||||
|
@ -173,18 +173,18 @@ input * {
|
|||
#
|
||||
# Scratchpad:
|
||||
#
|
||||
# Sway has a "scratchpad", which is a bag of holding for windows.
|
||||
# You can send windows there and get them back later.
|
||||
# Sway has a "scratchpad", which is a bag of holding for windows.
|
||||
# You can send windows there and get them back later.
|
||||
|
||||
# Move the currently focused window to the scratchpad
|
||||
#bindsym $mod+Shift+minus move scratchpad
|
||||
# Move the currently focused window to the scratchpad
|
||||
#bindsym $mod+Shift+minus move scratchpad
|
||||
|
||||
# Show the next scratchpad window or hide the focused scratchpad window.
|
||||
# If there are multiple scratchpad windows, this command cycles through them.
|
||||
#bindsym $mod+minus scratchpad show
|
||||
# Show the next scratchpad window or hide the focused scratchpad window.
|
||||
# If there are multiple scratchpad windows, this command cycles through them.
|
||||
#bindsym $mod+minus scratchpad show
|
||||
# useful shortcuts
|
||||
bindsym Print exec ~/.config/sway/screen_and_copy.sh area
|
||||
bindsym Ctrl+Print exec ~/.config/sway/screen_and_copy.sh output
|
||||
bindsym Print exec ~/.config/sway/scripts/screen_and_copy.sh area
|
||||
bindsym Ctrl+Print exec ~/.config/sway/scripts/screen_and_copy.sh output
|
||||
bindsym --locked XF86AudioMute exec wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||
bindsym --locked XF86AudioLowerVolume exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- -l 1.2
|
||||
bindsym --locked XF86AudioRaiseVolume exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ -l 1.2
|
||||
|
@ -224,5 +224,18 @@ bar {
|
|||
swaybar_command waybar
|
||||
}
|
||||
|
||||
seat seat0 xcursor_theme "miku-cursor-linux" 36
|
||||
|
||||
include /etc/sway/config.d/*
|
||||
|
||||
# enable numlock on start
|
||||
input type:keyboard xkb_capslock enabled
|
||||
input type:keyboard xkb_numlock enabled
|
||||
|
||||
# floating bitwarden
|
||||
for_window [app_id="^firefox$" title="^Extension: \(Bitwarden - Free Password Manager\) - Bitwarden — Mozilla Firefox$"] floating enable
|
||||
|
||||
# notification daemon
|
||||
exec swaync
|
||||
|
||||
bindsym $mod+Shift+n exec swaync-client -t -sw
|
Before Width: | Height: | Size: 420 KiB After Width: | Height: | Size: 420 KiB |
Before Width: | Height: | Size: 114 KiB After Width: | Height: | Size: 114 KiB |
|
@ -1,16 +1,23 @@
|
|||
{
|
||||
"layer": "top",
|
||||
"modules-left": ["sway/workspaces", "sway/mode"],
|
||||
"modules-center": [ ],
|
||||
"modules-right": ["mpris", "wireplumber","cpu", "bluetooth", "network", "clock", "privacy"],
|
||||
"modules-center": [],
|
||||
"modules-right": [
|
||||
"wireplumber",
|
||||
"cpu",
|
||||
"bluetooth",
|
||||
"network",
|
||||
"clock",
|
||||
"privacy"
|
||||
],
|
||||
"clock": {
|
||||
"format-alt": "{:%a, %d. %b %H:%M}"
|
||||
"format-alt": "{:%a, %d. %b %H:%M}"
|
||||
},
|
||||
"wireplumber": {
|
||||
"format": "{volume}% ",
|
||||
"format-muted": "",
|
||||
"max-volume": 120,
|
||||
"scroll-step": 0.2
|
||||
"format": "{volume}% ",
|
||||
"format-muted": "",
|
||||
"max-volume": 120,
|
||||
"scroll-step": 0.2
|
||||
},
|
||||
"privacy": {
|
||||
"icon-spacing": 4,
|
||||
|
@ -40,19 +47,39 @@
|
|||
"network": {
|
||||
"interface": "wlp3s0",
|
||||
"format": "{ifname}",
|
||||
"format-wifi": "{essid} ({signalStrength}%) ",
|
||||
"format-ethernet": "{ipaddr}/{cidr} ",
|
||||
"format-wifi": " ",
|
||||
"format-ethernet": "",
|
||||
"format-disconnected": "", //An empty format will hide the module.
|
||||
"tooltip-format": "{ifname} via {gwaddr} ",
|
||||
"tooltip-format": "{ifname} via {gwaddr} ",
|
||||
"tooltip-format-wifi": "{essid} ({signalStrength}%) ",
|
||||
"tooltip-format-ethernet": "{ifname} ",
|
||||
"tooltip-format-disconnected": "Disconnected",
|
||||
"max-length": 50
|
||||
},
|
||||
},
|
||||
"bluetooth": {
|
||||
"format": "",
|
||||
"format-disabled": "",
|
||||
"format-connected": ""
|
||||
}
|
||||
},
|
||||
|
||||
"custom/notification": {
|
||||
"tooltip": false,
|
||||
"format": "{} {icon}",
|
||||
"format-icons": {
|
||||
"notification": "<span foreground='red'><sup></sup></span>",
|
||||
"none": "",
|
||||
"dnd-notification": "<span foreground='red'><sup></sup></span>",
|
||||
"dnd-none": "",
|
||||
"inhibited-notification": "<span foreground='red'><sup></sup></span>",
|
||||
"inhibited-none": "",
|
||||
"dnd-inhibited-notification": "<span foreground='red'><sup></sup></span>",
|
||||
"dnd-inhibited-none": ""
|
||||
},
|
||||
"return-type": "json",
|
||||
"exec-if": "which swaync-client",
|
||||
"exec": "swaync-client -swb",
|
||||
"on-click": "swaync-client -t -sw",
|
||||
"on-click-right": "swaync-client -d -sw",
|
||||
"escape": true
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
:root {
|
||||
--primary-color: #7b002c;
|
||||
}
|
||||
|
||||
* {
|
||||
font-family: "CodeNewRoman Nerd Font";
|
||||
font-weight: bold;
|
||||
|
@ -6,24 +10,27 @@
|
|||
}
|
||||
|
||||
window#waybar {
|
||||
margin: 12px 24px;
|
||||
background-color: #fff;
|
||||
|
||||
border: solid 2px var(--primary-color);
|
||||
min-height: 14px; /* set waybar's height to 14px */
|
||||
font-size: 14px; /* set only the font size to be bigger, which in turn will adjust the height of other elements */
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
#clock, #battery, #cpu, #wireplumber, #bluetooth {
|
||||
#clock,
|
||||
#battery,
|
||||
#cpu,
|
||||
#wireplumber,
|
||||
#bluetooth {
|
||||
padding: 0 12px;
|
||||
}
|
||||
|
||||
#workspaces button.focused {
|
||||
border-bottom: solid 2px #7b002c;
|
||||
border-radius: 0;
|
||||
border-bottom: solid 2px var(--primary-color);
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
padding: 4px 0;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
min-height: 14px; /* set waybar's height to 18px */
|
||||
font-size: 14px; /* set only the font size to be bigger, which in turn will adjust the height of other elements */
|
||||
}
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
|
||||
"vscode"
|
||||
];
|
||||
|
||||
# The home.packages option allows you to install Nix packages into your
|
||||
# environment.
|
||||
home.packages = [
|
||||
|
@ -66,6 +67,7 @@
|
|||
pkgs.xfce.thunar
|
||||
pkgs.gimp-with-plugins
|
||||
pkgs.fzf
|
||||
pkgs.nnn
|
||||
pkgs.why3
|
||||
pkgs.alt-ergo
|
||||
pkgs.cvc4
|
||||
|
@ -168,6 +170,13 @@
|
|||
EDITOR = "nvim";
|
||||
};
|
||||
|
||||
home.pointerCursor = {
|
||||
name = "miku-cursor-linux";
|
||||
size = 32;
|
||||
gtk.enable = true;
|
||||
package = pkgs.callPackage ../packages/miku-cursor.nix {};
|
||||
};
|
||||
|
||||
programs.git = {
|
||||
userName = "harry123";
|
||||
userEmail = "harryh@ik.me";
|
||||
|
|
|
@ -2,8 +2,10 @@
|
|||
{
|
||||
imports = [
|
||||
./wine.nix
|
||||
./qemu.nix
|
||||
./neovim.nix
|
||||
./flatpak.nix
|
||||
./discord.nix
|
||||
];
|
||||
|
||||
}
|
||||
|
|
9
hosts/goober/features/software/qemu.nix
Normal file
9
hosts/goober/features/software/qemu.nix
Normal file
|
@ -0,0 +1,9 @@
|
|||
{pkgs, config, ...}: {
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
quickemu
|
||||
qemu
|
||||
];
|
||||
|
||||
systemd.tmpfiles.rules = [ "L+ /var/lib/qemu/firmware - - - - ${pkgs.qemu}/share/qemu/firmware" ];
|
||||
}
|
6
hosts/sisyphe/features/services/archivebox.nix
Normal file
6
hosts/sisyphe/features/services/archivebox.nix
Normal file
|
@ -0,0 +1,6 @@
|
|||
{config, pkgs, ...}:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
archivebox
|
||||
];
|
||||
}
|
|
@ -8,5 +8,13 @@
|
|||
description = "welcome to the silly kittens hut !! meow:3";
|
||||
adminEmail = "admin@hypervirtual.world";
|
||||
};
|
||||
|
||||
/**environment.etc = {
|
||||
"ircd.conf" = {
|
||||
text =''
|
||||
'';
|
||||
mode = "440";
|
||||
};
|
||||
};**/
|
||||
}
|
||||
|
||||
|
|
27
packages/miku-cursor.nix
Normal file
27
packages/miku-cursor.nix
Normal file
|
@ -0,0 +1,27 @@
|
|||
{stdenv, fetchFromGitHub}:
|
||||
stdenv.mkDerivation {
|
||||
pname = "miku-cursor-linux";
|
||||
version = "1.2.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "supermariofps";
|
||||
repo = "hatsune-miku-windows-linux-cursors";
|
||||
rev = "1.2.6";
|
||||
hash = "sha256-OQjjOc9VnxJ7tWNmpHIMzNWX6WsavAOkgPwK1XAMwtE=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
cd miku-cursor-linux
|
||||
|
||||
mkdir -p $out/share/icons/miku-cursor-linux
|
||||
cp -r * $out/share/icons/miku-cursor-linux
|
||||
install -m644 index.theme $out/share/icons/miku-cursor-linux/index.theme
|
||||
|
||||
|
||||
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue