first commit
This commit is contained in:
		
							
								
								
									
										167
									
								
								configuration.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										167
									
								
								configuration.nix
									
									
									
									
									
										Normal file
									
								
							| @ -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; | ||||
| } | ||||
| 
 | ||||
							
								
								
									
										26
									
								
								flake.lock
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								flake.lock
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @ -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 | ||||
| } | ||||
							
								
								
									
										19
									
								
								flake.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								flake.nix
									
									
									
									
									
										Normal file
									
								
							| @ -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 ]; | ||||
|             }; | ||||
|         }; | ||||
|     }; | ||||
| } | ||||
							
								
								
									
										40
									
								
								hardware-configuration.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								hardware-configuration.nix
									
									
									
									
									
										Normal file
									
								
							| @ -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.<interface>.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; | ||||
| } | ||||
							
								
								
									
										29
									
								
								modules/home.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								modules/home.nix
									
									
									
									
									
										Normal file
									
								
							| @ -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; | ||||
|     }; | ||||
| } | ||||
							
								
								
									
										66
									
								
								modules/nix/firefox.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								modules/nix/firefox.nix
									
									
									
									
									
										Normal file
									
								
							| @ -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; | ||||
|             }; | ||||
|         }; | ||||
|     }; | ||||
| } | ||||
							
								
								
									
										109
									
								
								modules/nix/sway.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										109
									
								
								modules/nix/sway.nix
									
									
									
									
									
										Normal file
									
								
							| @ -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 | ||||
|         ''; | ||||
|   }; | ||||
| } | ||||
							
								
								
									
										19
									
								
								modules/nix/user.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								modules/nix/user.nix
									
									
									
									
									
										Normal file
									
								
							| @ -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" | ||||
|             ''; | ||||
| 		};  | ||||
| 	};	 | ||||
| } | ||||
							
								
								
									
										76
									
								
								modules/raw/rofi/config.rasi
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										76
									
								
								modules/raw/rofi/config.rasi
									
									
									
									
									
										Executable file
									
								
							| @ -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; | ||||
| } | ||||
							
								
								
									
										189
									
								
								modules/raw/waybar/config
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										189
									
								
								modules/raw/waybar/config
									
									
									
									
									
										Executable file
									
								
							| @ -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": [ | ||||
|         "<span foreground='#cba6f7'>▁</span>", | ||||
|         "<span foreground='#cba6f7'>▂</span>", | ||||
|         "<span foreground='#cba6f7'>▃</span>", | ||||
|         "<span foreground='#cba6f7'>▄</span>", | ||||
|         "<span foreground='#89b4fa'>▅</span>", | ||||
|         "<span foreground='#89b4fa'>▆</span>", | ||||
|         "<span foreground='#89b4fa'>▇</span>", | ||||
|         "<span foreground='#89b4fa'>█</span>" | ||||
|       ], | ||||
|       "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": [ | ||||
|         "<span foreground='#cba6f7'>▁</span>", | ||||
|         "<span foreground='#cba6f7'>▂</span>", | ||||
|         "<span foreground='#cba6f7'>▃</span>", | ||||
|         "<span foreground='#cba6f7'>▄</span>", | ||||
|         "<span foreground='#89b4fa'>▅</span>", | ||||
|         "<span foreground='#89b4fa'>▆</span>", | ||||
|         "<span foreground='#89b4fa'>▇</span>", | ||||
|         "<span foreground='#89b4fa'>█</span>" | ||||
|       ], | ||||
|       "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": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>" | ||||
|     }, | ||||
|     "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": "<span> </span>", | ||||
|         "Playing": "<span> </span>", | ||||
|         "Stopped": "<span> </span>" | ||||
|       }, | ||||
|       "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": "<span> {} </span>", | ||||
|       "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" | ||||
|     } | ||||
|   } | ||||
| ] | ||||
							
								
								
									
										134
									
								
								modules/raw/waybar/style.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										134
									
								
								modules/raw/waybar/style.css
									
									
									
									
									
										Normal file
									
								
							| @ -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; | ||||
| } | ||||
							
								
								
									
										139
									
								
								modules/raw/wezterm/wezterm.lua
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										139
									
								
								modules/raw/wezterm/wezterm.lua
									
									
									
									
									
										Executable file
									
								
							| @ -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", | ||||
| } | ||||
							
								
								
									
										
											BIN
										
									
								
								modules/raw/wp/skull_purple.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								modules/raw/wp/skull_purple.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 6.2 MiB | 
							
								
								
									
										
											BIN
										
									
								
								modules/raw/wp/temple.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								modules/raw/wp/temple.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 759 KiB | 
		Reference in New Issue
	
	Block a user
	 meml0rz
					meml0rz