commit ef1f6fef3354e4ac75a0ff050a9ec53efceb12c8 Author: meml0rz Date: Sun Nov 10 12:16:27 2024 +0100 first commit diff --git a/configuration.nix b/configuration.nix new file mode 100644 index 0000000..4a3a433 --- /dev/null +++ b/configuration.nix @@ -0,0 +1,167 @@ +{ config, lib, pkgs, ... }: +let + home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz"; +in +{ + imports = + [ + (import "${home-manager}/nixos") + ./hardware-configuration.nix + ./modules/nix/firefox.nix + ]; + + nixpkgs.config.allowUnfree = true; + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + boot.loader.systemd-boot.enable = true; + + #boot.loader = { + # grub = { + # enable = true; + # useOSProber = true; + # device = "nodev"; + # efiSupport = true; + # }; + #}; + + networking.hostName = "poggers"; + networking.networkmanager.enable = true; + + time.timeZone = "Europe/Berlin"; + console = { + font = "Lat2-Terminus16"; + useXkbConfig = true; + }; + + services = { + xserver = { + enable = true; + displayManager.startx.enable = true; + windowManager.i3.enable = true; + }; + pipewire = { + enable = true; + pulse.enable = true; + }; + mullvad-vpn = { + enable = true; + }; + sdrplayApi = { + enable = true; + }; + }; + + hardware = { + bluetooth = { + enable = true; + }; + opengl = { + enable = true; + }; + rtl-sdr = { + enable = true; + }; + }; + + programs = { + nix-ld.enable = true; + }; + + virtualisation = { + docker = { + enable = true; + }; + }; + + users.users.fabian = { + isNormalUser = true; + initialPassword = "1601"; + extraGroups = [ "wheel" "docker" "audio" "video" "dialout" "plugdev" ]; + }; + + environment.systemPackages = with pkgs; [ + # sys + unzip + yt-dlp + inetutils + git + wget + curl + dosfstools + ntfs3g + + # cli + neofetch + fastfetch + onefetch + neovim + vim + weechat + ranger + eza + fzf + + # dev + rustup + python3 + nodejs + gccgo14 + go + + # radio + sdrplay + sdrpp + hackrf + rtl-sdr + gqrx + noaa-apt + rtl_433 + rtl-ais + + # misc + cava + mumble + discord + + # hardware & shit + libplist + libimobiledevice + usbmuxd + pulseaudio + qbittorrent + + ]; + + networking.firewall.allowedTCPPorts = [ 80 1337 8080 ]; + networking.firewall.enable = false; + + security = { + doas = { + enable = true; + extraRules = [{ + users = [ "fabian" ]; + noPass = true; + keepEnv = true; + }]; + }; + }; + + fonts.fontconfig.enable = true; + fonts.fontDir.enable = true; + fonts.packages = with pkgs; [ + noto-fonts + noto-fonts-emoji + liberation_ttf + fira-code + fira-code-symbols + fantasque-sans-mono + mplus-outline-fonts.githubRelease + dina-font + proggyfonts + nerdfonts + ]; + + system.stateVersion = "unstable"; + + home-manager.users.fabian = import ./modules/home.nix; +} + diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..e7ab21c --- /dev/null +++ b/flake.lock @@ -0,0 +1,26 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1730785428, + "narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "ref": "nixos-unstable", + "type": "indirect" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..fcec9f4 --- /dev/null +++ b/flake.nix @@ -0,0 +1,19 @@ +{ + description = "My first flake!"; + + inputs = { + nixpkgs.url = "nixpkgs/nixos-unstable"; + }; + + outputs = { self, nixpkgs, ... }: + let + lib = nixpkgs.lib; + in { + nixosConfigurations = { + default = lib.nixosSystem { + system = "x86_64-linux"; + modules = [ ./configuration.nix ]; + }; + }; + }; +} diff --git a/hardware-configuration.nix b/hardware-configuration.nix new file mode 100644 index 0000000..1b15fd5 --- /dev/null +++ b/hardware-configuration.nix @@ -0,0 +1,40 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-label/NIXROOT"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-label/ESP"; + fsType = "vfat"; + options = [ "fmask=0022" "dmask=0022" ]; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true; + # networking.interfaces.wwp0s20f0u3i12.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/modules/home.nix b/modules/home.nix new file mode 100644 index 0000000..d002d5e --- /dev/null +++ b/modules/home.nix @@ -0,0 +1,29 @@ +{ config, pkgs, ... }: +{ + imports = + [ + ./nix/sway.nix + ./nix/user.nix + ]; + + home.enableNixpkgsReleaseCheck = false; + home.stateVersion = "24.05"; + + home.packages = with pkgs; [ + waybar + + ]; + + home.file = { + # WEZTERM + ".config/wezterm/wezterm.lua".source = ./raw/wezterm/wezterm.lua; + # WAYBAR + ".config/waybar/style.css".source = ./raw/waybar/style.css; + ".config/waybar/config".source = ./raw/waybar/config; + # ROFI + ".config/rofi/config.rasi".source = ./raw/rofi/config.rasi; + # WP + ".wp/temple.png".source = ./raw/wp/temple.png; + ".wp/skull_purple.png".source = ./raw/wp/skull_purple.png; + }; +} diff --git a/modules/nix/firefox.nix b/modules/nix/firefox.nix new file mode 100644 index 0000000..179515c --- /dev/null +++ b/modules/nix/firefox.nix @@ -0,0 +1,66 @@ +{ config, pkgs, ... }: + + let + lock-false = { + Value = false; + Status = "locked"; + }; + lock-true = { + Value = true; + Status = "locked"; + }; + in +{ + programs = { + firefox = { + enable = true; + languagePacks = [ "en-US" ]; + policies = { + DisableTelemetry = true; + DisableFirefoxStudies = true; + EnableTrackingProtection = { + Value= true; + Locked = true; + Cryptomining = true; + Fingerprinting = true; + }; + DisablePocket = true; + DisableFirefoxAccounts = true; + DisableAccounts = true; + DisableFirefoxScreenshots = true; + OverrideFirstRunPage = ""; + OverridePostUpdatePage = ""; + DontCheckDefaultBrowser = true; + DisplayBookmarksToolbar = "newtab"; + DisplayMenuBar = "default-off"; + SearchBar = "unified"; + ExtensionSettings = { + "uBlock0@raymondhill.net" = { + install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"; + installation_mode = "force_installed"; + }; + }; + }; + preferences = { + "browser.contentblocking.category" = true; + "extensions.pocket.enabled" = false; + "extensions.screenshots.disabled" = true; + "browser.topsites.contile.enabled" = false; + "browser.formfill.enable" = false; + "browser.search.suggest.enabled" = false; + "browser.search.suggest.enabled.private" = false; + "browser.urlbar.suggest.searches" = false; + "browser.urlbar.showSearchSuggestionsFirst" = false; + "browser.newtabpage.activity-stream.feeds.section.topstories" = false; + "browser.newtabpage.activity-stream.feeds.snippets" = false; + "browser.newtabpage.activity-stream.section.highlights.includePocket" = false; + "browser.newtabpage.activity-stream.section.highlights.includeBookmarks" = false; + "browser.newtabpage.activity-stream.section.highlights.includeDownloads" = false; + "browser.newtabpage.activity-stream.section.highlights.includeVisited" = false; + "browser.newtabpage.activity-stream.showSponsored" = false; + "browser.newtabpage.activity-stream.system.showSponsored" = false; + "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; + }; + }; + }; +} diff --git a/modules/nix/sway.nix b/modules/nix/sway.nix new file mode 100644 index 0000000..1ce936a --- /dev/null +++ b/modules/nix/sway.nix @@ -0,0 +1,109 @@ +{config, pkgs, ... }: +{ + wayland.windowManager.sway = { + enable = true; + xwayland = true; + package = pkgs.swayfx-unwrapped; + wrapperFeatures.gtk = true; + checkConfig = false; + extraSessionCommands = '' + ''; + + config = rec { + modifier = "Mod4"; + terminal = "${pkgs.wezterm}/bin/wezterm"; + menu = "${pkgs.rofi}/bin/rofi -show drun -c .config/rofi/config.rasi"; + startup = [ + {command = "${pkgs.swaybg}/bin/swaybg -i $HOME/.wp/skull_purple.png";} + ]; + bars = [{ command = "waybar"; }]; + gaps = { + outer = 5; + inner = 10; + }; + + window = { + border = 0; + }; + + keybindings = { + # IMPORTANT STUFF # + "${modifier}+Return" = "exec ${terminal}"; + "${modifier}+F" = "exec firefox"; + "${modifier}+space" = "exec ${menu}"; + "${modifier}+D" = "exec discord"; + "${modifier}+C" = "exec code"; + "${modifier}+Q" = "kill"; + "${modifier}+Shift+R" = "reload"; + "${modifier}+Shift+S" = "grim -g '$(slurp)'"; + # WINDOW STUFF # + "${modifier}+Shift+space" = "floating toggle"; + "${modifier}+Shift+F" = "fullscreen toggle"; + "${modifier}+Left" = "focus left"; + "${modifier}+Down" = "focus down"; + "${modifier}+Up" = "focus up"; + "${modifier}+Right" = "focus right"; + + "${modifier}+Ctrl+Right" = "resize shrink width 3 px or 3 ppt"; + "${modifier}+Ctrl+Down" = "resize grow height 3 px or 3 ppt"; + "${modifier}+Ctrl+Up" = "resize shrink height 3 px or 3 ppt"; + "${modifier}+Ctrl+Left" = "resize grow width 3 px or 3 ppt"; + + "${modifier}+Shift+Left" = "move left"; + "${modifier}+Shift+Down" = "move down"; + "${modifier}+Shift+Up" = "move up"; + "${modifier}+Shift+Right" = "move right"; + + # WORKSPACES # + "${modifier}+1" = "workspace number 1"; + "${modifier}+2" = "workspace number 2"; + "${modifier}+3" = "workspace number 3"; + "${modifier}+4" = "workspace number 4"; + "${modifier}+5" = "workspace number 5"; + "${modifier}+6" = "workspace number 6"; + "${modifier}+7" = "workspace number 7"; + "${modifier}+8" = "workspace number 8"; + "${modifier}+9" = "workspace number 9"; + + # MOVE WINDOW TO OTHER WS # + "${modifier}+Shift+1" = "move container to workspace number 1"; + "${modifier}+Shift+2" = "move container to workspace number 2"; + "${modifier}+Shift+3" = "move container to workspace number 3"; + "${modifier}+Shift+4" = "move container to workspace number 4"; + "${modifier}+Shift+5" = "move container to workspace number 5"; + "${modifier}+Shift+6" = "move container to workspace number 6"; + "${modifier}+Shift+7" = "move container to workspace number 7"; + "${modifier}+Shift+8" = "move container to workspace number 8"; + "${modifier}+Shift+9" = "move container to workspace number 9"; + + # Audio + "XF86AudioRaiseVolume" = "exec pactl set-sink-volume @DEFAULT_SINK@ +10%"; + "XF86AudioLowerVolume" = "exec pactl set-sink-volume @DEFAULT_SINK@ -10%"; + "XF86AudioMute" = "exec set-volume toggle-mute"; + "XF86AudioStop" = "exec ${pkgs.playerctl}/bin/playerctl stop"; + "XF86AudioPrev" = "exec ${pkgs.playerctl}/bin/playerctl previous"; + "XF86AudioNext" = "exec ${pkgs.playerctl}/bin/playerctl next"; + "XF86AudioPlay" = "exec ${pkgs.playerctl}/bin/playerctl play-pause"; + + "XF86MonBrightnessDown" = "exec brightnessctl set 15%-"; + "XF86MonBrightnessUp" = "exec brightnessctl set +15%"; + }; + }; + + extraConfig = '' + shadows enable + corner_radius 12 + blur_radius 7 + blur_passes 4 + default_dim_inactive 0.2 + + for_window [app_id="wezterm"] blur enable + for_window [app_id="code"] blur enable + for_window [app_id="rofi"] blur enable + + default_border pixel 0px + default_floating_border none + titlebar_border_thickness 0 + ''; + }; +} diff --git a/modules/nix/user.nix b/modules/nix/user.nix new file mode 100644 index 0000000..5705ee0 --- /dev/null +++ b/modules/nix/user.nix @@ -0,0 +1,19 @@ +{ config, pkgs, ... }: +{ + programs = { + bash = { + enable = true; + enableCompletion = true; + bashrcExtra = '' + PS1="\[\e[35m\][\u@\h:\w] % \[\e[0m\]" + eval "$(${pkgs.fzf}/bin/fzf --bash)" + alias rm="rm -rv" + alias mv="mv -v" + alias ls="${pkgs.eza}/bin/eza -l --icons --absolute" + alias mkdir="mkdir -pv" + alias http="python3 -m http.server 1337" + alias update="doas nixos-rebuild switch" + ''; + }; + }; +} diff --git a/modules/raw/rofi/config.rasi b/modules/raw/rofi/config.rasi new file mode 100755 index 0000000..f1ab9c7 --- /dev/null +++ b/modules/raw/rofi/config.rasi @@ -0,0 +1,76 @@ +configuration { + display-drun: "Applications:"; + drun-display-format: "{icon} {name}"; + font: "JetBrainsMono Nerd Font Medium 10"; + show-icons: true; + modi: "drun"; +} + +@theme "/dev/null" + +* { + + opacity: 0.5; + color0: #39305320; + color1: #494d6420; + color3: #d8dee9; + color4: #7b68ee; + color5: #cbe3e7; + + + background-color: transparent; + text-color: @color3; + accent-color: @color5; + + margin: 0px; + border: 0px; + padding: 0px; + spacing: 0px; +} + +window { + background-color: @color0; + border-color: @accent-color; + + width: 50%; + border: 2px; +} + +inputbar { + padding: 10px 12px; + spacing: 12px; + children: [ prompt, entry ]; +} + +prompt, entry, element-text, element-icon { + vertical-align: 0.5; +} + +prompt { + text-color: @accent-color; + enabled: true; + text-color: @color4; +} + +listview { + lines: 8; + columns: 2; + +} + +element { + padding: 8px; + spacing: 8px; +} + +element selected { + text-color: @color4; +} + +element-icon { + size: 20; +} + +element-text { + text-color: inherit; +} diff --git a/modules/raw/waybar/config b/modules/raw/waybar/config new file mode 100755 index 0000000..a375b05 --- /dev/null +++ b/modules/raw/waybar/config @@ -0,0 +1,189 @@ +[ + { + "battery": { + "format": "{icon} {capacity}%", + "format-alt": "{icon} {time}", + "format-charging": " {capacity}%", + "format-icons": [ + "", + "", + "", + "", + "" + ], + "format-plugged": " {capacity}% ", + "states": { + "critical": 15, + "good": 95, + "warning": 30 + } + }, + "cava#left": { + "autosens": 1, + "bar_delimiter": 0, + "bars": 18, + "format-icons": [ + "", + "", + "", + "", + "", + "", + "", + "" + ], + "framerate": 60, + "higher_cutoff_freq": 10000, + "input_delay": 2, + "lower_cutoff_freq": 50, + "method": "pulse", + "monstercat": false, + "reverse": false, + "source": "auto", + "stereo": true, + "waves": false + }, + "cava#right": { + "autosens": 1, + "bar_delimiter": 0, + "bars": 18, + "format-icons": [ + "", + "", + "", + "", + "", + "", + "", + "" + ], + "framerate": 60, + "higher_cutoff_freq": 10000, + "input_delay": 2, + "lower_cutoff_freq": 50, + "method": "pulse", + "monstercat": false, + "reverse": false, + "source": "auto", + "stereo": true, + "waves": false + }, + "clock": { + "format": " {:%a, %d %b, %I:%M %p}", + "format-alt": " {:%d/%m}", + "tooltip": "true", + "tooltip-format": "{:%Y %B}\n{calendar}" + }, + "cpu": { + "format": "󰻠 {usage}%", + "format-alt": "󰻠 {avg_frequency} GHz", + "interval": 5 + }, + "custom/launcher": { + "format": "", + "tooltip": "false" + }, + "custom/playerctl#backward": { + "format": "󰙣 ", + "on-click": "playerctl previous", + "on-scroll-down": "playerctl volume .05-", + "on-scroll-up": "playerctl volume .05+" + }, + "custom/playerctl#foward": { + "format": "󰙡 ", + "on-click": "playerctl next", + "on-scroll-down": "playerctl volume .05-", + "on-scroll-up": "playerctl volume .05+" + }, + "custom/playerctl#play": { + "exec": "playerctl -a metadata --format '{\"text\": \"{{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F", + "format": "{icon}", + "format-icons": { + "Paused": "", + "Playing": "󰏥 ", + "Stopped": "" + }, + "on-click": "playerctl play-pause", + "on-scroll-down": "playerctl volume .05-", + "on-scroll-up": "playerctl volume .05+", + "return-type": "json" + }, + "custom/playerlabel": { + "exec": "playerctl -a metadata --format '{\"text\": \"{{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F", + "format": "󰎈 {} 󰎈", + "max-length": 40, + "on-click": "", + "return-type": "json" + }, + "custom/randwall": { + "format": "󰏘" + }, + "height": 35, + "layer": "top", + "margin-bottom": 0, + "margin-left": 0, + "margin-right": 0, + "margin-top": 0, + "memory": { + "format": "󰍛 {}%", + "format-alt": "󰍛 {used}/{total} GiB", + "interval": 5 + }, + "modules-center": [ + "custom/playerlabel", + ], + "modules-left": [ + "cava#left", + "custom/playerctl#backward", + "custom/playerctl#play", + "custom/playerctl#foward", + ], + "modules-right": [ + "tray", + "battery", + "pulseaudio", + "network", + ], + + "network": { + "format-disconnected": "󰖪 0% ", + "format-ethernet": "󰈀 100% ", + "format-linked": "{ifname} (No IP)", + "format-wifi": " {signalStrength}%", + "tooltip-format": "Connected to {essid} {ifname} via {gwaddr}" + }, + "position": "top", + "pulseaudio": { + "format": "{icon} {volume}%", + "format-icons": { + "default": [ + "󰕿", + "󰖀", + "󰕾" + ] + }, + "format-muted": "󰝟", + "on-click": "pavucontrol", + "scroll-step": 5 + }, + "tray": { + "icon-size": 20, + "spacing": 8 + }, + "wlr/workspaces": { + "active-only": false, + "all-outputs": false, + "disable-scroll": false, + "format": "{name}", + "format-icons": { + "active": "", + "default": "", + "sort-by-number": true, + "urgent": "" + }, + "on-click": "activate", + "on-scroll-down": "hyprctl dispatch workspace e+1", + "on-scroll-up": "hyprctl dispatch workspace e-1" + } + } +] diff --git a/modules/raw/waybar/style.css b/modules/raw/waybar/style.css new file mode 100644 index 0000000..a1f056e --- /dev/null +++ b/modules/raw/waybar/style.css @@ -0,0 +1,134 @@ +* { + border: none; + border-radius: 0px; + font-family: RobotoMono Nerd Font; + font-size: 14px; + min-height: 0; +} + +window#waybar { + /* background: rgba(17,17,27,1); */ + background: transparent; +} + +#cava.left, #cava.right { + /* background: #25253a; */ + + /*background: #25253a;*/ + background: #010101; + margin: 5px; + padding: 8px 16px; + color: #cba6f7; +} +#cava.left { + border-radius: 24px 24px 24px 24px; +} +#cava.right { + border-radius: 10px 24px 10px 24px; +} +#workspaces { + background: #11111b; + margin: 5px 5px; + padding: 8px 5px; + border-radius: 16px; + color: #cba6f7 +} +#workspaces button { + padding: 0px 5px; + margin: 0px 3px; + border-radius: 16px; + color: transparent; + background: rgba(17,17,27,1); + transition: all 0.3s ease-in-out; +} + +#workspaces button.active { + background-color: #89b4fa; + color: #11111B; + border-radius: 16px; + min-width: 50px; + background-size: 400% 400%; + transition: all 0.3s ease-in-out; +} + +#workspaces button:hover { + background-color: #f5f5f5; + color: #11111B; + border-radius: 16px; + min-width: 50px; + background-size: 400% 400%; +} + +#tray, #pulseaudio, #network, #battery, +#custom-playerctl.backward, #custom-playerctl.play, #custom-playerctl.foward{ + background: #010101; + font-weight: bold; + margin: 5px 0px; + opacity: 1; +} +#tray, #pulseaudio, #network, #battery{ + color: #f5f5f5; + border-radius: 24px 24px 24px 24px; + padding: 0 20px; + margin-left: 7px; +} +#clock { + color: #f5f5f5; + background: #010101; + border-radius: 0px 0px 0px 40px; + padding: 10px 10px 15px 25px; + margin-left: 7px; + font-weight: bold; + font-size: 16px; +} +#custom-launcher { + color: #89b4fa; + background: #010101; + border-radius: 0px 0px 40px 0px; + margin: 0px; + padding: 0px 35px 0px 15px; + font-size: 28px; +} + +#custom-playerctl.backward, #custom-playerctl.play, #custom-playerctl.foward { + background: #010101; + font-size: 22px; +} +#custom-playerctl.backward:hover, #custom-playerctl.play:hover, #custom-playerctl.foward:hover{ + color: #f5f5f5; +} +#custom-playerctl.backward { + color: #cba6f7; + border-radius: 24px 0px 0px 24px; + padding-left: 16px; + margin-left: 7px; +} +#custom-playerctl.play { + color: #89b4fa; + padding: 0 5px; +} +#custom-playerctl.foward { + color: #cba6f7; + border-radius: 0px 24px 24px 0px; + padding-right: 12px; + margin-right: 7px +} +#custom-playerlabel { + background: #010101; + color: #f5f5f5; + padding: 0 20px; + border-radius: 24px 24px 24px 24px; + margin: 5px 0; + font-weight: bold; +} +#window{ + /*background: #25253a; */ + padding-left: 15px; + padding-right: 15px; + border-radius: 16px; + margin-top: 5px; + margin-bottom: 5px; + font-weight: normal; + font-style: normal; + opacity: 0.1; +} diff --git a/modules/raw/wezterm/wezterm.lua b/modules/raw/wezterm/wezterm.lua new file mode 100755 index 0000000..88e10ae --- /dev/null +++ b/modules/raw/wezterm/wezterm.lua @@ -0,0 +1,139 @@ +local wezterm = require 'wezterm' +local act = wezterm.action + +mb = { +} + +for i = 1,99,1 +do + table.insert(mb, + { + event = { Down = { streak = i, button = 'Middle' } }, + mods = 'NONE', + action = act.PasteFrom("PrimarySelection") + }) + table.insert(mb, { + event = { Down = { streak = i, button = 'Right' } }, + mods = 'NONE', + action = wezterm.action_callback(function(window, pane) + local has_selection = window:get_selection_text_for_pane(pane) ~= '' + if has_selection then + window:perform_action( + act.CopyTo 'ClipboardAndPrimarySelection', + pane + ) + + window:perform_action(act.ClearSelection, pane) + else + window:perform_action(act.PasteFrom("PrimarySelection"), pane) + end + end), + }) +end + +return { + disable_default_key_bindings = true, + pane_focus_follows_mouse = false, + mouse_bindings = mb, +-- leader = { key = 'VoidSymbol', timeout_milliseconds = 1000 }, + keys = { +-- { +-- key = 'c', +-- mods = 'CTRL|SHIFT', +-- action = wezterm.action.SpawnCommandInNewTab { +-- args = { 'zsh' }, +-- cwd = '~' +-- }, +-- }, + { + key = 'v', + mods = 'CTRL|SHIFT', + action = act.PasteFrom("Clipboard"), + }, + { + key = 'c', + mods = 'CTRL|SHIFT', + action = act.CopyTo("Clipboard"), + }, + { + key = 't', + mods = 'CTRL|SHIFT', + action = wezterm.action.SpawnCommandInNewTab { + args = { 'fish' }, + cwd = '~' + }, + }, + { + key = 'f', + mods = 'CTRL', + action = wezterm.action.TogglePaneZoomState, + }, +-- { +-- key = 'p', +-- mods = 'LEADER', +-- action = act.ActivateTabRelative(-1), +-- }, +-- { +-- key = 'n', +-- mods = 'LEADER', +-- action = act.ActivateTabRelative(1), +-- }, + + }, + window_padding = { + left = 2, + right = 2, + top = 0, + bottom = 0, + }, + window_frame = { + border_left_width = '0.5cell', + border_right_width = '0.5cell', + }, + window_background_opacity = 0.50, + window_decorations = "NONE", + tab_bar_at_bottom = true, + hide_tab_bar_if_only_one_tab = true, + warn_about_missing_glyphs = false, + use_fancy_tab_bar = true, + scrollback_lines = 999999, + enable_scroll_bar = false, + adjust_window_size_when_changing_font_size=false, + -- font = wezterm.font_with_fallback({"Hack", "Twemoji"}), + font_size = 15, + force_reverse_video_cursor = false, + colors = { + ansi = { + '#1d1f21', + '#cc6666', + '#b5bd68', + '#f0c674', + '#81a2be', + '#b294bb', + '#8abeb7', + '#c5c8c6' + }, + background = '#010101', + brights = { + '#969896', + '#cc6666', + '#b5bd68', + '#f0c674', + '#81a2be', + '#b294bb', + '#8abeb7', + '#ffffff' + }, + foreground = '#c5c8c6', + selection_bg = '#373b41', + selection_fg = '#c5c8c6', + cursor_bg = '#c5c8c6', + cursor_border = '#c5c8c6', + cursor_fg = '#1d1f21', + }, +-- color_scheme = 'Catppuccin Macchiato', +-- default_cursor_style = 'BlinkingBlock', +-- cursor_blink_rate = 500, +-- animation_fps = 100, +-- front_end = "Software", +} diff --git a/modules/raw/wp/skull_purple.png b/modules/raw/wp/skull_purple.png new file mode 100644 index 0000000..284a53c Binary files /dev/null and b/modules/raw/wp/skull_purple.png differ diff --git a/modules/raw/wp/temple.png b/modules/raw/wp/temple.png new file mode 100644 index 0000000..46da4a8 Binary files /dev/null and b/modules/raw/wp/temple.png differ