This commit is contained in:
meml0rz
2024-11-13 01:43:09 +01:00
parent 595be1e6e2
commit 2e59194988
7 changed files with 458 additions and 421 deletions

View File

@ -1,169 +1,187 @@
{ config, lib, pkgs, pkgs-stable, ... }:
{ {
imports = config,
[ lib,
./hardware-configuration.nix pkgs,
./modules/nix/firefox.nix pkgs-stable,
...
}:
{
imports = [
./hardware-configuration.nix
./modules/nix/firefox.nix
];
nixpkgs.config.allowUnfree = true;
nix.settings.experimental-features = [
"nix-command"
"flakes"
];
boot.loader.systemd-boot.enable = true;
networking.hostName = "poggers";
networking.networkmanager.enable = true;
time.timeZone = "Europe/Berlin";
console = {
font = "Lat2-Terminus16";
useXkbConfig = true;
};
xdg.portal = {
enable = true;
extraPortals = [
pkgs.xdg-desktop-portal-gtk
pkgs.xdg-desktop-portal-hyprland
]; ];
};
nixpkgs.config.allowUnfree = true;
nix.settings.experimental-features = [ "nix-command" "flakes" ];
boot.loader.systemd-boot.enable = true;
networking.hostName = "poggers"; services = {
networking.networkmanager.enable = true; pipewire = {
enable = true;
time.timeZone = "Europe/Berlin"; pulse.enable = true;
console = { wireplumber.enable = true;
font = "Lat2-Terminus16";
useXkbConfig = true;
};
xdg.portal = {
enable = true;
extraPortals = [
pkgs.xdg-desktop-portal-gtk
pkgs.xdg-desktop-portal-hyprland
];
};
services = {
pipewire = {
enable = true;
pulse.enable = true;
wireplumber.enable = true;
};
mullvad-vpn = {
enable = true;
};
sdrplayApi = {
enable = true;
};
};
hardware = {
bluetooth = {
enable = true;
};
graphics = {
enable = true;
};
rtl-sdr = {
enable = true;
};
}; };
mullvad-vpn = {
programs = { enable = true;
hyprland = {
enable = true;
xwayland.enable = true;
};
nix-ld.enable = true;
};
virtualisation = {
docker = {
enable = true;
};
}; };
sdrplayApi = {
enable = true;
};
};
users.users.fabian = { hardware = {
isNormalUser = true; bluetooth = {
initialPassword = "1601"; enable = true;
extraGroups = [ "wheel" "docker" "audio" "video" "dialout" "plugdev" ]; };
}; graphics = {
enable = true;
};
rtl-sdr = {
enable = true;
};
};
environment.systemPackages = programs = {
hyprland = {
enable = true;
};
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; [ (with pkgs; [
# sys # sys
unzip unzip
yt-dlp yt-dlp
inetutils inetutils
git git
wget wget
curl curl
dosfstools dosfstools
ntfs3g ntfs3g
waybar waybar
# cli # cli
neofetch neofetch
fastfetch fastfetch
onefetch onefetch
vim vim
weechat weechat
ranger ranger
eza eza
fzf fzf
# dev # dev
rustup rustup
python3 python3
nodejs nodejs
gccgo14 gccgo14
go go
nixd nixd
# radio
sdrplay
sdrpp
hackrf
rtl-sdr
gqrx
noaa-apt
rtl_433
rtl-ais
# misc # radio
cava sdrplay
mumble sdrpp
discord hackrf
rtl-sdr
# hardware & shit gqrx
libplist noaa-apt
libimobiledevice rtl_433
usbmuxd rtl-ais
]) # misc
++ cava
(with pkgs-stable; [ mumble
vesktop
]);
# hardware & shit
networking = { libplist
firewall = { libimobiledevice
enable = true; usbmuxd
allowedTCPPorts = [ 80 1337 8080 ];
}; ])
++ (with pkgs-stable; [
]);
networking = {
firewall = {
enable = true;
allowedTCPPorts = [
80
1337
8080
];
}; };
};
security = { security = {
doas = { doas = {
enable = true; enable = true;
extraRules = [{ extraRules = [
users = [ "fabian" ]; {
noPass = true; users = [ "fabian" ];
keepEnv = true; noPass = true;
}]; keepEnv = true;
}; }
];
}; };
};
fonts.fontconfig.enable = true;
fonts.fontDir.enable = true; fonts.fontconfig.enable = true;
fonts.packages = with pkgs; [ fonts.fontDir.enable = true;
noto-fonts fonts.packages = with pkgs; [
noto-fonts-emoji noto-fonts
liberation_ttf noto-fonts-emoji
fira-code liberation_ttf
fira-code-symbols fira-code
fantasque-sans-mono fira-code-symbols
mplus-outline-fonts.githubRelease fantasque-sans-mono
dina-font mplus-outline-fonts.githubRelease
proggyfonts dina-font
nerdfonts proggyfonts
]; nerdfonts
];
system.stateVersion = "unstable";
system.stateVersion = "unstable";
} }

View File

@ -1,66 +1,66 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
let let
lock-false = { lock-false = {
Value = false; Value = false;
Status = "locked"; Status = "locked";
}; };
lock-true = { lock-true = {
Value = true; Value = true;
Status = "locked"; Status = "locked";
}; };
in in
{ {
programs = { programs = {
firefox = { firefox = {
enable = true; enable = true;
languagePacks = [ "en-US" ]; languagePacks = [ "en-US" ];
policies = { policies = {
DisableTelemetry = true; DisableTelemetry = true;
DisableFirefoxStudies = true; DisableFirefoxStudies = true;
EnableTrackingProtection = { EnableTrackingProtection = {
Value= true; Value = true;
Locked = true; Locked = true;
Cryptomining = true; Cryptomining = true;
Fingerprinting = 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;
};
}; };
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;
};
}; };
};
} }

View File

@ -1,88 +1,86 @@
{config, pkgs, ... }: { config, pkgs, ... }:
{ {
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
enable = true; enable = true;
xwayland.enable = true; extraConfig = ''
extraConfig = '' windowrulev2 = opacity 0.0 override, class:^(xwaylandvideobridge)$
windowrulev2 = opacity 0.0 override, class:^(xwaylandvideobridge)$ windowrulev2 = noanim, class:^(xwaylandvideobridge)$
windowrulev2 = noanim, class:^(xwaylandvideobridge)$ windowrulev2 = noinitialfocus, class:^(xwaylandvideobridge)$
windowrulev2 = noinitialfocus, class:^(xwaylandvideobridge)$ windowrulev2 = maxsize 1 1, class:^(xwaylandvideobridge)$
windowrulev2 = maxsize 1 1, class:^(xwaylandvideobridge)$ windowrulev2 = noblur, class:^(xwaylandvideobridge)$
windowrulev2 = noblur, class:^(xwaylandvideobridge)$
bindel = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
bindel = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
bindl = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bindl = , XF86AudioPlay, exec, ${pkgs.playerctl}/bin/playerctl play-pause
bindl = , XF86AudioPrev, exec, ${pkgs.playerctl}/bin/playerctl previous
bindl = , XF86AudioNext, exec, ${pkgs.playerctl}/bin/playerctl next
''; bindel = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
settings = { bindel = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
"monitor" = "HDMI-A-2, 2560x1440@144, 0x0, 1"; bindl = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
"$mod" = "SUPER"; bindl = , XF86AudioPlay, exec, ${pkgs.playerctl}/bin/playerctl play-pause
exec-once = [ bindl = , XF86AudioPrev, exec, ${pkgs.playerctl}/bin/playerctl previous
"waybar &" bindl = , XF86AudioNext, exec, ${pkgs.playerctl}/bin/playerctl next
"${pkgs.swaybg}/bin/swaybg -i ~/.wp/temple.png"
];
bind = [
"$mod, RETURN, exec, ${pkgs.kitty}/bin/kitty"
"$mod, space, exec, ${pkgs.wofi}/bin/wofi --show drun"
"$mod, Q, killactive"
"$mod SHIFT, space, togglefloating"
"$mod, 1, workspace, 1" '';
"$mod, 2, workspace, 2" settings = {
"$mod, 3, workspace, 3" "monitor" = "HDMI-A-2, 2560x1440@144, 0x0, 1";
"$mod, 4, workspace, 4" "$mod" = "SUPER";
"$mod, 5, workspace, 5" exec-once = [
"$mod, 6, workspace, 6" "waybar &"
"$mod, 7, workspace, 7" "${pkgs.swaybg}/bin/swaybg -i ~/.wp/temple.png"
"$mod, 8, workspace, 8" ];
"$mod, 9, workspace, 9" bind = [
"$mod, RETURN, exec, ${pkgs.kitty}/bin/kitty"
"$mod SHIFT, 1, movetoworkspace, 1" "$mod, space, exec, ${pkgs.wofi}/bin/wofi --show drun"
"$mod SHIFT, 2, movetoworkspace, 2" "$mod, Q, killactive"
"$mod SHIFT, 3, movetoworkspace, 3" "$mod SHIFT, space, togglefloating"
"$mod SHIFT, 4, movetoworkspace, 4"
"$mod SHIFT, 5, movetoworkspace, 5"
"$mod SHIFT, 6, movetoworkspace, 6"
"$mod SHIFT, 7, movetoworkspace, 7"
"$mod SHIFT, 8, movetoworkspace, 8"
"$mod SHIFT, 9, movetoworkspace, 9"
#"bind = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"
#"bind = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
#"bind = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
#"bind = ,XF86AudioPlay, exec, playerctl play-pause"
#"bind = ,XF86AudioPrev, exec, playerctl previous"
#"bind = ,XF86AudioNext, exec, playerctl next"
];
bindm = [ "$mod, 1, workspace, 1"
"$mod, mouse:272, movewindow" "$mod, 2, workspace, 2"
"$mod, mouse:273, resizewindow" "$mod, 3, workspace, 3"
"$mod ALT, mouse:272, resizewindow" "$mod, 4, workspace, 4"
]; "$mod, 5, workspace, 5"
"$mod, 6, workspace, 6"
"$mod, 7, workspace, 7"
"$mod, 8, workspace, 8"
"$mod, 9, workspace, 9"
decoration = { "$mod SHIFT, 1, movetoworkspace, 1"
rounding = 2; "$mod SHIFT, 2, movetoworkspace, 2"
}; "$mod SHIFT, 3, movetoworkspace, 3"
general = { "$mod SHIFT, 4, movetoworkspace, 4"
gaps_in = 8; "$mod SHIFT, 5, movetoworkspace, 5"
gaps_out = 8; "$mod SHIFT, 6, movetoworkspace, 6"
border_size = 1; "$mod SHIFT, 7, movetoworkspace, 7"
resize_on_border = true; "$mod SHIFT, 8, movetoworkspace, 8"
}; "$mod SHIFT, 9, movetoworkspace, 9"
input = {
kb_layout = "us"; #"bind = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"
natural_scroll = false; #"bind = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
}; #"bind = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
gestures = { #"bind = ,XF86AudioPlay, exec, playerctl play-pause"
workspace_swipe = true; #"bind = ,XF86AudioPrev, exec, playerctl previous"
workspace_swipe_forever = true; #"bind = ,XF86AudioNext, exec, playerctl next"
}; ];
};
bindm = [
"$mod, mouse:272, movewindow"
"$mod, mouse:273, resizewindow"
"$mod ALT, mouse:272, resizewindow"
];
decoration = {
rounding = 2;
};
general = {
gaps_in = 8;
gaps_out = 8;
border_size = 1;
resize_on_border = true;
};
input = {
kb_layout = "us";
natural_scroll = false;
};
gestures = {
workspace_swipe = true;
workspace_swipe_forever = true;
};
}; };
};
} }

View File

@ -1,16 +1,16 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
programs = { programs = {
kitty = { kitty = {
enable = true; enable = true;
extraConfig = '' extraConfig = ''
font_size 15.0 font_size 15.0
cursor_shape beam cursor_shape beam
close_window close_window
''; '';
};
tmux = {
enable = true;
};
}; };
tmux = {
enable = true;
};
};
} }

View File

@ -36,6 +36,14 @@
yamlls = { yamlls = {
enable = true; enable = true;
}; };
rust-analyzer = {
enable = true;
autostart = true;
};
clangd = {
enable = true;
autostart = true;
};
}; };
keymaps = { keymaps = {
silent = true; silent = true;

View File

@ -1,25 +1,25 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
programs = { programs = {
bash = { bash = {
enable = true; enable = true;
enableCompletion = true; enableCompletion = true;
bashrcExtra = '' bashrcExtra = ''
PS1="\[\e[35m\][\u@\h:\w] % \[\e[0m\]" PS1="\[\e[35m\][\u@\h:\w] % \[\e[0m\]"
eval "$(${pkgs.fzf}/bin/fzf --bash)" eval "$(${pkgs.fzf}/bin/fzf --bash)"
alias rm="rm -rv" alias rm="rm -rv"
alias mv="mv -v" alias mv="mv -v"
alias ls="${pkgs.eza}/bin/eza -l --icons --absolute" alias ls="${pkgs.eza}/bin/eza -l --icons --absolute"
alias mkdir="mkdir -pv" alias mkdir="mkdir -pv"
alias http="python3 -m http.server 1337" alias http="python3 -m http.server 1337"
alias update="sudo nixos-rebuild switch --flake /etc/nixos --impure" alias update="sudo nixos-rebuild switch --flake /etc/nixos --impure"
''; '';
}; };
git = { git = {
enable = true; enable = true;
userName = "meml0rz"; userName = "meml0rz";
userEmail = "meml0rz"; userEmail = "meml0rz";
}; };
}; };
} }

View File

@ -1,134 +1,147 @@
* { * {
border: none; border: none;
border-radius: 0px; border-radius: 0px;
font-family: Terminus Nerd Font; font-family: Terminus Nerd Font;
font-size: 15px; font-size: 15px;
min-height: 0; min-height: 0;
} }
window#waybar { window#waybar {
/* background: rgba(17,17,27,1); */ /* background: rgba(17,17,27,1); */
background: transparent; background: transparent;
} }
#cava.left, #cava.right { #cava.left,
/* background: #25253a; */ #cava.right {
/* background: #25253a; */
/*background: #25253a;*/ /*background: #25253a;*/
background: #010101; background: #010101;
margin: 5px; margin: 5px;
padding: 8px 16px; padding: 8px 16px;
color: #cba6f7; color: #cba6f7;
} }
#cava.left { #cava.left {
border-radius: 24px 24px 24px 24px; border-radius: 24px 24px 24px 24px;
} }
#cava.right { #cava.right {
border-radius: 10px 24px 10px 24px; border-radius: 10px 24px 10px 24px;
} }
#workspaces { #workspaces {
background: #11111b; background: #11111b;
margin: 5px 5px; margin: 5px 5px;
padding: 8px 5px; padding: 8px 5px;
border-radius: 16px; border-radius: 16px;
color: #cba6f7 color: #cba6f7;
} }
#workspaces button { #workspaces button {
padding: 0px 5px; padding: 0px 5px;
margin: 0px 3px; margin: 0px 3px;
border-radius: 16px; border-radius: 16px;
color: transparent; color: transparent;
background: rgba(17,17,27,1); background: rgba(17, 17, 27, 1);
transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out;
} }
#workspaces button.active { #workspaces button.active {
background-color: #89b4fa; background-color: #89b4fa;
color: #11111B; color: #11111b;
border-radius: 16px; border-radius: 16px;
min-width: 50px; min-width: 50px;
background-size: 400% 400%; background-size: 400% 400%;
transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out;
} }
#workspaces button:hover { #workspaces button:hover {
background-color: #f5f5f5; background-color: #f5f5f5;
color: #11111B; color: #11111b;
border-radius: 16px; border-radius: 16px;
min-width: 50px; min-width: 50px;
background-size: 400% 400%; background-size: 400% 400%;
} }
#tray, #pulseaudio, #network, #battery, #tray,
#custom-playerctl.backward, #custom-playerctl.play, #custom-playerctl.foward{ #pulseaudio,
background: #010101; #network,
font-weight: bold; #battery,
margin: 5px 0px; #custom-playerctl.backward,
opacity: 1; #custom-playerctl.play,
#custom-playerctl.foward {
background: #010101;
font-weight: bold;
margin: 5px 0px;
opacity: 1;
} }
#tray, #pulseaudio, #network, #battery{ #tray,
color: #f5f5f5; #pulseaudio,
border-radius: 24px 24px 24px 24px; #network,
padding: 0 20px; #battery {
margin-left: 7px; color: #f5f5f5;
border-radius: 24px 24px 24px 24px;
padding: 0 20px;
margin-left: 7px;
} }
#clock { #clock {
color: #f5f5f5; color: #f5f5f5;
background: #010101; background: #010101;
border-radius: 0px 0px 0px 40px; border-radius: 0px 0px 0px 40px;
padding: 10px 10px 15px 25px; padding: 10px 10px 15px 25px;
margin-left: 7px; margin-left: 7px;
font-weight: bold; font-weight: bold;
font-size: 16px; font-size: 16px;
} }
#custom-launcher { #custom-launcher {
color: #89b4fa; color: #89b4fa;
background: #010101; background: #010101;
border-radius: 0px 0px 40px 0px; border-radius: 0px 0px 40px 0px;
margin: 0px; margin: 0px;
padding: 0px 35px 0px 15px; padding: 0px 35px 0px 15px;
font-size: 28px; font-size: 28px;
} }
#custom-playerctl.backward, #custom-playerctl.play, #custom-playerctl.foward { #custom-playerctl.backward,
background: #010101; #custom-playerctl.play,
font-size: 22px; #custom-playerctl.foward {
background: #010101;
font-size: 22px;
} }
#custom-playerctl.backward:hover, #custom-playerctl.play:hover, #custom-playerctl.foward:hover{ #custom-playerctl.backward:hover,
color: #f5f5f5; #custom-playerctl.play:hover,
#custom-playerctl.foward:hover {
color: #f5f5f5;
} }
#custom-playerctl.backward { #custom-playerctl.backward {
color: #cba6f7; color: #cba6f7;
border-radius: 24px 0px 0px 24px; border-radius: 24px 0px 0px 24px;
padding-left: 16px; padding-left: 16px;
margin-left: 7px; margin-left: 7px;
} }
#custom-playerctl.play { #custom-playerctl.play {
color: #89b4fa; color: #89b4fa;
padding: 0 5px; padding: 0 5px;
} }
#custom-playerctl.foward { #custom-playerctl.foward {
color: #cba6f7; color: #cba6f7;
border-radius: 0px 24px 24px 0px; border-radius: 0px 24px 24px 0px;
padding-right: 12px; padding-right: 12px;
margin-right: 7px margin-right: 7px;
} }
#custom-playerlabel { #custom-playerlabel {
background: #010101; background: #010101;
color: #f5f5f5; color: #f5f5f5;
padding: 0 20px; padding: 0 20px;
border-radius: 24px 24px 24px 24px; border-radius: 24px 24px 24px 24px;
margin: 5px 0; margin: 5px 0;
font-weight: bold; font-weight: bold;
} }
#window{ #window {
/*background: #25253a; */ /*background: #25253a; */
padding-left: 15px; padding-left: 15px;
padding-right: 15px; padding-right: 15px;
border-radius: 16px; border-radius: 16px;
margin-top: 5px; margin-top: 5px;
margin-bottom: 5px; margin-bottom: 5px;
font-weight: normal; font-weight: normal;
font-style: normal; font-style: normal;
opacity: 0.1; opacity: 0.1;
} }