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 =
[
./hardware-configuration.nix
./modules/nix/firefox.nix
config,
lib,
pkgs,
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";
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
];
};
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;
};
services = {
pipewire = {
enable = true;
pulse.enable = true;
wireplumber.enable = true;
};
programs = {
hyprland = {
enable = true;
xwayland.enable = true;
};
nix-ld.enable = true;
};
virtualisation = {
docker = {
enable = true;
};
mullvad-vpn = {
enable = true;
};
sdrplayApi = {
enable = true;
};
};
users.users.fabian = {
isNormalUser = true;
initialPassword = "1601";
extraGroups = [ "wheel" "docker" "audio" "video" "dialout" "plugdev" ];
};
hardware = {
bluetooth = {
enable = true;
};
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; [
# sys
unzip
yt-dlp
inetutils
git
wget
curl
dosfstools
ntfs3g
waybar
# sys
unzip
yt-dlp
inetutils
git
wget
curl
dosfstools
ntfs3g
waybar
# cli
neofetch
fastfetch
onefetch
vim
weechat
ranger
eza
fzf
# cli
neofetch
fastfetch
onefetch
vim
weechat
ranger
eza
fzf
# dev
rustup
python3
nodejs
gccgo14
go
nixd
# radio
sdrplay
sdrpp
hackrf
rtl-sdr
gqrx
noaa-apt
rtl_433
rtl-ais
# dev
rustup
python3
nodejs
gccgo14
go
nixd
# misc
cava
mumble
discord
# hardware & shit
libplist
libimobiledevice
usbmuxd
])
++
(with pkgs-stable; [
]);
networking = {
firewall = {
enable = true;
allowedTCPPorts = [ 80 1337 8080 ];
};
# radio
sdrplay
sdrpp
hackrf
rtl-sdr
gqrx
noaa-apt
rtl_433
rtl-ais
# misc
cava
mumble
vesktop
# hardware & shit
libplist
libimobiledevice
usbmuxd
])
++ (with pkgs-stable; [
]);
networking = {
firewall = {
enable = true;
allowedTCPPorts = [
80
1337
8080
];
};
};
security = {
doas = {
enable = true;
extraRules = [{
users = [ "fabian" ];
noPass = true;
keepEnv = true;
}];
};
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
];
};
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";
system.stateVersion = "unstable";
}

View File

@ -1,66 +1,66 @@
{ config, pkgs, ... }:
let
lock-false = {
Value = false;
Status = "locked";
};
lock-true = {
Value = true;
Status = "locked";
};
in
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;
};
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;
};
};
};
}

View File

@ -1,88 +1,86 @@
{config, pkgs, ... }:
{ config, pkgs, ... }:
{
wayland.windowManager.hyprland = {
enable = true;
xwayland.enable = true;
extraConfig = ''
windowrulev2 = opacity 0.0 override, class:^(xwaylandvideobridge)$
windowrulev2 = noanim, class:^(xwaylandvideobridge)$
windowrulev2 = noinitialfocus, class:^(xwaylandvideobridge)$
windowrulev2 = maxsize 1 1, 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
wayland.windowManager.hyprland = {
enable = true;
extraConfig = ''
windowrulev2 = opacity 0.0 override, class:^(xwaylandvideobridge)$
windowrulev2 = noanim, class:^(xwaylandvideobridge)$
windowrulev2 = noinitialfocus, class:^(xwaylandvideobridge)$
windowrulev2 = maxsize 1 1, class:^(xwaylandvideobridge)$
windowrulev2 = noblur, class:^(xwaylandvideobridge)$
'';
settings = {
"monitor" = "HDMI-A-2, 2560x1440@144, 0x0, 1";
"$mod" = "SUPER";
exec-once = [
"waybar &"
"${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"
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
"$mod, 1, workspace, 1"
"$mod, 2, workspace, 2"
"$mod, 3, workspace, 3"
"$mod, 4, workspace, 4"
"$mod, 5, workspace, 5"
"$mod, 6, workspace, 6"
"$mod, 7, workspace, 7"
"$mod, 8, workspace, 8"
"$mod, 9, workspace, 9"
"$mod SHIFT, 1, movetoworkspace, 1"
"$mod SHIFT, 2, movetoworkspace, 2"
"$mod SHIFT, 3, movetoworkspace, 3"
"$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"
];
'';
settings = {
"monitor" = "HDMI-A-2, 2560x1440@144, 0x0, 1";
"$mod" = "SUPER";
exec-once = [
"waybar &"
"${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"
bindm = [
"$mod, mouse:272, movewindow"
"$mod, mouse:273, resizewindow"
"$mod ALT, mouse:272, resizewindow"
];
"$mod, 1, workspace, 1"
"$mod, 2, workspace, 2"
"$mod, 3, workspace, 3"
"$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 = {
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;
};
};
"$mod SHIFT, 1, movetoworkspace, 1"
"$mod SHIFT, 2, movetoworkspace, 2"
"$mod SHIFT, 3, movetoworkspace, 3"
"$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, 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, ... }:
{
programs = {
kitty = {
enable = true;
extraConfig = ''
font_size 15.0
cursor_shape beam
close_window
'';
};
tmux = {
enable = true;
};
programs = {
kitty = {
enable = true;
extraConfig = ''
font_size 15.0
cursor_shape beam
close_window
'';
};
tmux = {
enable = true;
};
};
}

View File

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

View File

@ -1,25 +1,25 @@
{ 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="sudo nixos-rebuild switch --flake /etc/nixos --impure"
'';
};
git = {
enable = true;
userName = "meml0rz";
userEmail = "meml0rz";
};
};
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="sudo nixos-rebuild switch --flake /etc/nixos --impure"
'';
};
git = {
enable = true;
userName = "meml0rz";
userEmail = "meml0rz";
};
};
}

View File

@ -1,134 +1,147 @@
* {
border: none;
border-radius: 0px;
font-family: Terminus Nerd Font;
font-size: 15px;
min-height: 0;
border: none;
border-radius: 0px;
font-family: Terminus Nerd Font;
font-size: 15px;
min-height: 0;
}
window#waybar {
/* background: rgba(17,17,27,1); */
background: transparent;
/* background: rgba(17,17,27,1); */
background: transparent;
}
#cava.left, #cava.right {
/* background: #25253a; */
#cava.left,
#cava.right {
/* background: #25253a; */
/*background: #25253a;*/
background: #010101;
margin: 5px;
padding: 8px 16px;
color: #cba6f7;
/*background: #25253a;*/
background: #010101;
margin: 5px;
padding: 8px 16px;
color: #cba6f7;
}
#cava.left {
border-radius: 24px 24px 24px 24px;
border-radius: 24px 24px 24px 24px;
}
#cava.right {
border-radius: 10px 24px 10px 24px;
border-radius: 10px 24px 10px 24px;
}
#workspaces {
background: #11111b;
margin: 5px 5px;
padding: 8px 5px;
border-radius: 16px;
color: #cba6f7
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;
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;
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%;
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,
#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;
#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;
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;
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,
#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: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;
color: #cba6f7;
border-radius: 24px 0px 0px 24px;
padding-left: 16px;
margin-left: 7px;
}
#custom-playerctl.play {
color: #89b4fa;
padding: 0 5px;
color: #89b4fa;
padding: 0 5px;
}
#custom-playerctl.foward {
color: #cba6f7;
border-radius: 0px 24px 24px 0px;
padding-right: 12px;
margin-right: 7px
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;
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;
#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;
}