made it possible to use flake without all desktop bloat

This commit is contained in:
Schrottkatze 2023-02-03 17:43:17 +01:00
parent 26b733401e
commit b6670bcd1a
7 changed files with 201 additions and 158 deletions

View file

@ -9,11 +9,6 @@ with lib;
with builtins; with builtins;
{ {
imports = [ ./modules ]; imports = [ ./modules ];
nixpkgs.config.allowUnfree = true;
nixpkgs.overlays = [
(import (builtins.fetchTarball "https://github.com/PrismLauncher/PrismLauncher/archive/develop.tar.gz")).overlay
];
nix = { nix = {
package = pkgs.nixVersions.stable; package = pkgs.nixVersions.stable;
@ -24,36 +19,55 @@ with builtins;
''; '';
}; };
nixpkgs = {
config = {
allowUnfree = true;
};
};
environment = {
systemPackages = with pkgs; [
wget git neofetch pciutils zip unzip gnutar iw btop nodejs jdk8 jdk11
jdk libsecret gh nix-prefetch-scripts direnv nix-direnv fzf glab openal
sl lolcat appimage-run git-crypt file whois p7zip file nmap cmatrix tree
socat
];
pathsToLink = [
"/share/nix-direnv"
];
};
networking = {
networkmanager = {
enable = true;
};
};
services = {
usbmuxd.enable = true;
gvfs.enable = true;
openssh.enable = true;
};
programs = {
dconf.enable = true;
mtr.enable = true;
gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
};
time.timeZone = "Europe/Berlin"; time.timeZone = "Europe/Berlin";
networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
networking.networkmanager.wifi.backend = "iwd";
networking.extraHosts = ''
127.0.0.1 www.youtube.com
127.0.0.1 www.reddit.com
127.0.0.1 www.tiktok.com
127.0.0.1 www.twitter.com
127.0.0.1 www.instagram.com
127.0.0.1 www.facebook.com
127.0.0.1 www.snapchat.com
127.0.0.1 youtube.com
127.0.0.1 reddit.com
127.0.0.1 tiktok.com
127.0.0.1 twitter.com
127.0.0.1 instagram.com
127.0.0.1 facebook.com
127.0.0.1 snapchat.com
127.0.0.1 google-analytics.com
127.0.0.1 stats.g.doubleclick.net
127.0.0.1 googleadservices.com
127.0.0.1 googletagmanager.com
127.0.0.1 googletagservices.com
127.0.0.1 googlesyndication.com
'';
home-manager.users.jade = { nixosConfig, pkgs, ... }: { home-manager.users.jade = { nixosConfig, pkgs, ... }: {
home.sessionVariables.TZ = nixosConfig.time.timeZone; home.sessionVariables.TZ = nixosConfig.time.timeZone;
}; };
@ -63,77 +77,16 @@ with builtins;
}; };
security.sudo.extraConfig = "Defaults insults"; security.sudo.extraConfig = "Defaults insults";
services.xserver = {
enable = true;
wacom.enable = true;
libinput = {
enable = true;
};
desktopManager = {
xterm.enable = false;
};
displayManager = {
defaultSession = "none+i3";
gdm.enable = true;
};
windowManager.i3 = {
enable = true;
package = pkgs.i3-gaps;
extraPackages = with pkgs; [
gnome.gdm i3lock-fancy rofi rofimoji volumeicon feh xorg.xinput dunst
arandr lxappearance gruvbox-dark-gtk gruvbox-dark-icons-gtk
gruvterial-theme flameshot tesseract5 imagemagick xclip polybar kitty
xkeysnail gtk-engine-murrine playerctl xmacro
libwacom wacomtablet xorg.xev
];
};
};
programs.dconf.enable = true;
programs.corectrl.enable = true;
qt.platformTheme = "qt5ct";
virtualisation.libvirtd.enable = true;
boot.plymouth = {
enable = true;
#theme = "glow";
};
hardware.opengl.enable = true; hardware.opengl.enable = true;
services.xserver.layout = "us";
services.xserver.xkbVariant = "altgr-intl";
hardware.uinput.enable = true; hardware.uinput.enable = true;
services.printing.enable = true;
services.usbmuxd.enable = true;
services.gvfs.enable = true;
security.rtkit.enable = true; security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
#alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
};
hardware.bluetooth.enable = true;
hardware.keyboard.uhk.enable = true;
hardware.spacenavd.enable = true;
environment.sessionVariables = rec {
QT_QPA_PLATFORMTHEME = "qt5ct";
TERMINAL = "kitty";
};
users.users.jade = { users.users.jade = {
isNormalUser = true; isNormalUser = true;
extraGroups = [ "wheel" "input" "uinput" "libvirtd" "adbusers" ]; extraGroups = [ "wheel" "input" "uinput" "libvirtd" "adbusers" ];
@ -147,83 +100,18 @@ users.users.jade = {
}; };
# missing: picom-jonaburg
environment.systemPackages = with pkgs; [
# spotify-tui jetbrains.webstorm jetbrains.datagrip jetbrains.idea-ultimate jetbrains.pycharm-professional python3Full jetbrains.clion
wget git neofetch pciutils pavucontrol font-manager zip unzip gnutar iw
btop xdotool xorg.xwininfo nodejs gparted networkmanagerapplet mailspring
betterdiscordctl pulseaudioFull speedtest-cli librewolf firefox jdk8 jdk11
jdk vlc xfce.thunar xfce.tumbler xfce.thunar-archive-plugin
gnome.file-roller uhk-agent spotify spotify-tray cool-retro-term lutris
libsecret gh xorg.xhost xdg-desktop-portal-gtk nheko obsidian
nix-prefetch-scripts audacity rustup easyeffects virt-manager evince direnv
nix-direnv fzf openrgb krita gimp
# currently broken -2023-01-20
#gimp-with-plugins helvum
inkscape-with-extensions virglrenderer ddccontrol-db glab
firebird-emu obs-studio kdenlive openal
mullvad mullvad-vpn
sl lolcat ifuse
fspy spacenav-cube-example
cava appimage-run
spacenavd libspnav fluent-reader
#prismlauncher
evolution
godot colmap
gitg gnome-builder git-crypt
gpick qdirstat file whois ffmpeg_5 scribus p7zip file nmap cmatrix tree socat
libimobiledevice libimobiledevice-glue ifuse usbmuxd libusbmuxd gvfs gphoto2 gphoto2fs phockup digikam
];
programs.noisetorch.enable = true;
programs.adb.enable = true;
environment.pathsToLink = [
"/share/nix-direnv"
];
services.flatpak.enable = true;
xdg.portal.enable = true;
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
fonts.fonts = with pkgs; [
nerdfonts montserrat noto-fonts atkinson-hyperlegible
];
programs.mtr.enable = true;
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
programs.zsh.enable = true;
users.defaultUserShell = pkgs.zsh; users.defaultUserShell = pkgs.zsh;
services.openssh.enable = true;
programs.kdeconnect.enable = true;
services.mullvad-vpn.enable = true;
services.gnome.gnome-keyring.enable = true;
programs.seahorse.enable = true;
security.pam.services.jade.enableGnomeKeyring = true;
# Copy the NixOS configuration file and link it from the resulting system # Copy the NixOS configuration file and link it from the resulting system
# (/run/current-system/configuration.nix). This is useful in case you # (/run/current-system/configuration.nix). This is useful in case you
# accidentally delete configuration.nix. # accidentally delete configuration.nix.
# system.copySystemConfiguration = true; # system.copySystemConfiguration = true;
networking.firewall.allowedTCPPorts = [ 8384 22000 ];
networking.firewall.allowedUDPPorts = [ 8080 22000 21027 ];
systemd.services."NetworkManager-wait-online".enable = false;
services.syncthing = rec {
enable = true;
user = "jade";
dataDir = "/home/${user}/Documents";
configDir = "/home/${user}/Documents/.config/syncthing";
};
} }

View file

@ -5,5 +5,6 @@
./terminal.nix ./terminal.nix
./neovim.nix ./neovim.nix
./zsh.nix ./zsh.nix
./flatpak.nix
]; ];
} }

View file

@ -42,8 +42,142 @@ in with lib; {
compositing = mkEnableOption "Enable compositing via picom"; compositing = mkEnableOption "Enable compositing via picom";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.kdeconnect.enable = true;
fonts.fonts = with pkgs; [
nerdfonts montserrat noto-fonts atkinson-hyperlegible
];
hardware.bluetooth.enable = true;
hardware.keyboard.uhk.enable = true;
hardware.spacenavd.enable = true;
programs.seahorse.enable = true;
security.pam.services.jade.enableGnomeKeyring = true;
networking.firewall.allowedTCPPorts = [ 8384 22000 ];
networking.firewall.allowedUDPPorts = [ 8080 22000 21027 ];
systemd.services."NetworkManager-wait-online".enable = false;
qt.platformTheme = "qt5ct";
virtualisation.libvirtd.enable = true;
boot.plymouth = {
enable = true;
#theme = "glow";
};
programs = {
corectrl.enable = true;
noisetorch.enable = true;
adb.enable = true;
};
nixpkgs.overlays = [
(import (builtins.fetchTarball "https://github.com/PrismLauncher/PrismLauncher/archive/develop.tar.gz")).overlay
];
environment.sessionVariables = rec {
QT_QPA_PLATFORMTHEME = "qt5ct";
TERMINAL = "kitty";
};
services = {
printing.enable = true;
mullvad-vpn.enable = true;
gnome.gnome-keyring.enable = true;
xserver = {
layout = "us";
xkbVariant = "altgr-intl";
enable = true;
wacom.enable = true;
libinput = {
enable = true;
};
desktopManager = {
xterm.enable = false;
};
displayManager = {
defaultSession = "none+i3";
gdm.enable = true;
};
windowManager.i3 = {
enable = true;
package = pkgs.i3-gaps;
extraPackages = with pkgs; [
gnome.gdm i3lock-fancy rofi rofimoji volumeicon feh xorg.xinput dunst
arandr lxappearance gruvbox-dark-gtk gruvbox-dark-icons-gtk
gruvterial-theme flameshot tesseract5 imagemagick xclip polybar kitty
xkeysnail gtk-engine-murrine playerctl xmacro
libwacom wacomtablet xorg.xev
];
};
};
pipewire = {
enable = true;
alsa.enable = true;
#alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
};
syncthing = rec {
enable = true;
user = "jade";
dataDir = "/home/${user}/Documents";
configDir = "/home/${user}/Documents/.config/syncthing";
};
};
# desktop things that arent the de {{{
networking = {
networkmanager.wifi.backend = "iwd";
extraHosts = ''
127.0.0.1 www.youtube.com
127.0.0.1 www.reddit.com
127.0.0.1 www.tiktok.com
127.0.0.1 www.twitter.com
127.0.0.1 www.instagram.com
127.0.0.1 www.facebook.com
127.0.0.1 www.snapchat.com
127.0.0.1 youtube.com
127.0.0.1 reddit.com
127.0.0.1 tiktok.com
127.0.0.1 twitter.com
127.0.0.1 instagram.com
127.0.0.1 facebook.com
127.0.0.1 snapchat.com
127.0.0.1 google-analytics.com
127.0.0.1 stats.g.doubleclick.net
127.0.0.1 googleadservices.com
127.0.0.1 googletagmanager.com
127.0.0.1 googletagservices.com
127.0.0.1 googlesyndication.com
'';
};
# }}}
home-manager.users.jade = { pkgs, ... }: { home-manager.users.jade = { pkgs, ... }: {
home.packages = with pkgs; [ home.packages = with pkgs; [
# from environment.systemPackages cleanup
pavucontrol font-manager xdotool xorg.xwininfo gparted
networkmanagerapplet pulseaudioFull speedtest-cli librewolf firefox vlc
xfce.thunar xfce.tumbler xfce.thunar-archive-plugin gnome.file-roller
uhk-agent cool-retro-term lutris xorg.xhost xdg-desktop-portal-gtk nheko
obsidian audacity easyeffects virt-manager evince openrgb krita gimp
inkscape-with-extensions virglrenderer ddccontrol-db
firebird-emu obs-studio kdenlive fspy spacenav-cube-example cava
spacenavd libspnav fluent-reader evolution godot colmap gitg
gnome-builder gpick qdirstat ffmpeg_5 scribus libimobiledevice
libimobiledevice-glue ifuse usbmuxd libusbmuxd gvfs gphoto2 gphoto2fs
phockup digikam
# mullvad currently broken?
# mullvad mullvad-vpn
# external # external
libnotify libnotify
i3lock-fancy rofi rofimoji volumeicon feh xorg.xinput dunst i3lock-fancy rofi rofimoji volumeicon feh xorg.xinput dunst

17
modules/flatpak.nix Normal file
View file

@ -0,0 +1,17 @@
{ config, lib, pkgs, ... }:
let cfg = config.jade.flatpak;
in with lib; {
options.jade.flatpak = {
enable = mkEnableOption "Enable flatpak";
};
config = mkIf cfg.enable {
services.flatpak.enable = true;
xdg.portal = {
enable = true;
extraPortals = [
pkgs.xdg-desktop-portal-gtk
];
};
};
}

View file

@ -6,6 +6,7 @@ in with lib; {
enable = mkEnableOption "Enable zsh"; enable = mkEnableOption "Enable zsh";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.zsh.enable = true;
home-manager.users.jade = { pkgs,... } : { home-manager.users.jade = { pkgs,... } : {
home.packages = with pkgs; [ home.packages = with pkgs; [
thefuck thefuck

View file

@ -10,6 +10,7 @@
]; ];
jade = { jade = {
flatpak.enable = true;
desktop.enable = true; desktop.enable = true;
desktop.compositing = true; desktop.compositing = true;
terminal.enable = true; terminal.enable = true;

View file

@ -28,6 +28,7 @@
# }; # };
jade = { jade = {
flatpak.enable = true;
desktop.enable = true; desktop.enable = true;
desktop.compositing = true; desktop.compositing = true;
terminal.enable = true; terminal.enable = true;