diff --git a/features/client/sway.nix b/features/client/sway.nix
index 423cb03..889d11e 100644
--- a/features/client/sway.nix
+++ b/features/client/sway.nix
@@ -6,6 +6,8 @@
wl-clipboard
xdg-utils
sway-contrib.grimshot
+ swaylock
+ swaynotificationcenter
];
services.gnome.gnome-keyring.enable = true;
diff --git a/flake.lock b/flake.lock
index feb976d..c3dbdb6 100644
--- a/flake.lock
+++ b/flake.lock
@@ -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": {
diff --git a/flake.nix b/flake.nix
index edd13df..a8062ea 100644
--- a/flake.nix
+++ b/flake.nix
@@ -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 {};
};
+
}
diff --git a/home-manager/dotfiles/bash/.bashrc b/home-manager/dotfiles/bash/.bashrc
index 96787ad..6f2d213 100644
--- a/home-manager/dotfiles/bash/.bashrc
+++ b/home-manager/dotfiles/bash/.bashrc
@@ -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'
diff --git a/home-manager/dotfiles/foot/foot.ini b/home-manager/dotfiles/foot/foot.ini
index 65d8f5b..88d3e21 100644
--- a/home-manager/dotfiles/foot/foot.ini
+++ b/home-manager/dotfiles/foot/foot.ini
@@ -85,7 +85,7 @@ blink=yes
[colors]
# alpha=1.0
-# background=242424
+background=20111b
# foreground=ffffff
# flash=7f7f00
# flash-alpha=0.5
diff --git a/home-manager/dotfiles/nnn/plugins/nmount b/home-manager/dotfiles/nnn/plugins/nmount
new file mode 100644
index 0000000..e05453f
--- /dev/null
+++ b/home-manager/dotfiles/nnn/plugins/nmount
@@ -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
diff --git a/home-manager/dotfiles/sway/config b/home-manager/dotfiles/sway/config
index 10d7625..8a090e6 100755
--- a/home-manager/dotfiles/sway/config
+++ b/home-manager/dotfiles/sway/config
@@ -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
\ No newline at end of file
diff --git a/home-manager/dotfiles/sway/screen_and_copy.sh b/home-manager/dotfiles/sway/scripts/screen_and_copy.sh
similarity index 100%
rename from home-manager/dotfiles/sway/screen_and_copy.sh
rename to home-manager/dotfiles/sway/scripts/screen_and_copy.sh
diff --git a/home-manager/dotfiles/sway/wallpapers/577806.jpg b/home-manager/dotfiles/sway/wallpapers/wipeout_1.jpg
similarity index 100%
rename from home-manager/dotfiles/sway/wallpapers/577806.jpg
rename to home-manager/dotfiles/sway/wallpapers/wipeout_1.jpg
diff --git a/home-manager/dotfiles/sway/wallpapers/wipeout_3_team___wallpaper_by_panopticon36_d734ox5-pre.jpg b/home-manager/dotfiles/sway/wallpapers/wipeout_2.jpg
similarity index 100%
rename from home-manager/dotfiles/sway/wallpapers/wipeout_3_team___wallpaper_by_panopticon36_d734ox5-pre.jpg
rename to home-manager/dotfiles/sway/wallpapers/wipeout_2.jpg
diff --git a/home-manager/dotfiles/waybar/config.jsonc b/home-manager/dotfiles/waybar/config.jsonc
index 0220674..26f7a1f 100644
--- a/home-manager/dotfiles/waybar/config.jsonc
+++ b/home-manager/dotfiles/waybar/config.jsonc
@@ -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": "",
+ "none": "",
+ "dnd-notification": "",
+ "dnd-none": "",
+ "inhibited-notification": "",
+ "inhibited-none": "",
+ "dnd-inhibited-notification": "",
+ "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
+ }
}
diff --git a/home-manager/dotfiles/waybar/style.css b/home-manager/dotfiles/waybar/style.css
index c667dc8..a7629ce 100644
--- a/home-manager/dotfiles/waybar/style.css
+++ b/home-manager/dotfiles/waybar/style.css
@@ -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 */
-}
diff --git a/home-manager/home.nix b/home-manager/home.nix
index 0961f3e..54f492d 100644
--- a/home-manager/home.nix
+++ b/home-manager/home.nix
@@ -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";
diff --git a/hosts/goober/features/software/default.nix b/hosts/goober/features/software/default.nix
index 7333f70..cce31b4 100644
--- a/hosts/goober/features/software/default.nix
+++ b/hosts/goober/features/software/default.nix
@@ -2,8 +2,10 @@
{
imports = [
./wine.nix
+ ./qemu.nix
./neovim.nix
./flatpak.nix
./discord.nix
];
+
}
diff --git a/hosts/goober/features/software/qemu.nix b/hosts/goober/features/software/qemu.nix
new file mode 100644
index 0000000..b69ef91
--- /dev/null
+++ b/hosts/goober/features/software/qemu.nix
@@ -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" ];
+}
diff --git a/hosts/sisyphe/features/services/archivebox.nix b/hosts/sisyphe/features/services/archivebox.nix
new file mode 100644
index 0000000..d0685d3
--- /dev/null
+++ b/hosts/sisyphe/features/services/archivebox.nix
@@ -0,0 +1,6 @@
+{config, pkgs, ...}:
+{
+ environment.systemPackages = with pkgs; [
+ archivebox
+ ];
+}
diff --git a/hosts/sisyphe/features/services/irc-server.nix b/hosts/sisyphe/features/services/irc-server.nix
index f69b01e..d193a33 100644
--- a/hosts/sisyphe/features/services/irc-server.nix
+++ b/hosts/sisyphe/features/services/irc-server.nix
@@ -8,5 +8,13 @@
description = "welcome to the silly kittens hut !! meow:3";
adminEmail = "admin@hypervirtual.world";
};
+
+ /**environment.etc = {
+ "ircd.conf" = {
+ text =''
+ '';
+ mode = "440";
+ };
+ };**/
}
diff --git a/packages/miku-cursor.nix b/packages/miku-cursor.nix
new file mode 100644
index 0000000..64512fc
--- /dev/null
+++ b/packages/miku-cursor.nix
@@ -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
+ '';
+
+}