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