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 + ''; + +}