diff --git a/flake.nix b/flake.nix index 77db18a..a9c3ac7 100644 --- a/flake.nix +++ b/flake.nix @@ -60,10 +60,11 @@ ./hosts/microwave ./modules/basic-tools.nix ./modules/binary-caches.nix + ./modules/chromium.nix ./modules/devtools.nix ./modules/emacs.nix ./modules/gnupg.nix - ./modules/graphical.nix + ./modules/gnome.nix ./modules/hw-accel-intel.nix ./modules/mail ./modules/radio.nix diff --git a/hosts/microwave/configuration.nix b/hosts/microwave/configuration.nix index 8b7dd9b..305e6be 100644 --- a/hosts/microwave/configuration.nix +++ b/hosts/microwave/configuration.nix @@ -18,7 +18,7 @@ kicad gimp inkscape - (xfce.thunar.override { thunarPlugins = with xfce; [ thunar-volman thunar-archive-plugin ];}) + #(xfce.thunar.override { thunarPlugins = with xfce; [ thunar-volman thunar-archive-plugin ];}) ]; @@ -73,6 +73,7 @@ "plugdev" "dialout" "bluetooth" + "networkmanager" ]; group = "users"; home = "/home/grue"; diff --git a/hosts/microwave/default.nix b/hosts/microwave/default.nix index 53ff03b..5b1f235 100644 --- a/hosts/microwave/default.nix +++ b/hosts/microwave/default.nix @@ -3,7 +3,7 @@ ./configuration.nix ./hardware-configuration.nix - ./network.nix + ./stateful-networking.nix ./secrets.nix ]; } diff --git a/hosts/microwave/stateful-networking.nix b/hosts/microwave/stateful-networking.nix new file mode 100644 index 0000000..1c89ae3 --- /dev/null +++ b/hosts/microwave/stateful-networking.nix @@ -0,0 +1,30 @@ +{ pkgs, config, ... }: { + networking = { + hostName = "microwave"; # Define your hostname. + hostId = "7da4f1e6"; + firewall.enable = true; + wireguard.enable = true; + # wireless.iwd.enable = true; + # networkmanager.wifi.backend = "iwd"; + }; + + # fix networkmanager wireguard + networking.firewall = { + # if packets are still dropped, they will show up in dmesg + logReversePathDrops = true; + # wireguard trips rpfilter up + extraCommands = '' + ip46tables -t mangle -I nixos-fw-rpfilter -p udp -m udp --sport 51820 -j RETURN + ip46tables -t mangle -I nixos-fw-rpfilter -p udp -m udp --dport 51820 -j RETURN + ''; + extraStopCommands = '' + ip46tables -t mangle -D nixos-fw-rpfilter -p udp -m udp --sport 51820 -j RETURN || true + ip46tables -t mangle -D nixos-fw-rpfilter -p udp -m udp --dport 51820 -j RETURN || true + ''; + }; + + services.resolved = { + enable = true; + dnssec = "allow-downgrade"; + }; +} diff --git a/modules/devtools.nix b/modules/devtools.nix index 4f0bc50..d3ad897 100644 --- a/modules/devtools.nix +++ b/modules/devtools.nix @@ -14,8 +14,15 @@ # nix rnix-lsp nixpkgs-fmt + # julia + julia-bin ]; + ## Julia + environment.variables = { + JULIA_NUM_THREADS = "8"; + }; + ## direnv programs.bash.interactiveShellInit = '' eval "$(direnv hook bash)" diff --git a/modules/gnome.nix b/modules/gnome.nix new file mode 100644 index 0000000..5254353 --- /dev/null +++ b/modules/gnome.nix @@ -0,0 +1,116 @@ +{ config, pkgs, ... }: { + + environment.systemPackages = with pkgs; [ + celluloid + gnome.gnome-boxes + gnome.gnome-tweaks + nextcloud-client + amberol + firefox-wayland + element-desktop + wl-clipboard + pulseaudioFull + screen-message + qbittorrent + dino + gnome.gnome-terminal + #gnome-console + ]; + + environment.gnome.excludePackages = with pkgs; [ + gnome.totem + gnome.geary + gnome.gnome-music + gnome-console + ]; + + + services.gnome = { + evolution-data-server.enable = true; + gnome-keyring.enable = true; + gnome-online-accounts.enable = true; + }; + + programs = { + seahorse.enable = true; + gnupg.agent.pinentryFlavor = "gnome3"; + evolution = { + enable = true; + plugins = [ pkgs.evolution-ews ]; + }; + }; + + qt5 = { + enable = true; + platformTheme = "gnome"; + style = "adwaita-dark"; + }; + + services.xserver = { + enable = true; + desktopManager.gnome.enable = true; + displayManager.gdm = { + enable = true; + wayland = true; + }; + }; + + # Enable sound. + security.rtkit.enable = true; + hardware.pulseaudio = { + enable = false; + zeroconf.discovery.enable = true; + extraClientConf = '' + autospawn=yes + ''; + }; + services.pipewire = { + enable = true; + alsa.enable = true; + pulse.enable = true; + }; + + programs.zsh.vteIntegration = true; + programs.bash.vteIntegration = true; + + fonts.fonts = with pkgs; [ + monoid + font-awesome + dejavu_fonts + julia-mono + uw-ttyp0 + gohufont + spleen + terminus_font + creep + corefonts + dina-font + fira + fira-mono + hack-font + liberation_ttf + noto-fonts + noto-fonts-cjk + noto-fonts-emoji + noto-fonts-extra + proggyfonts + symbola + open-sans + twemoji-color-font + twitter-color-emoji + ]; + + fonts.enableDefaultFonts = true; + fonts.fontconfig = { + enable = true; + allowBitmaps = true; + useEmbeddedBitmaps = true; + defaultFonts.emoji = [ + "Twitter Color Emoji" + "Noto Color Emoji" + ]; + }; + + hardware.bluetooth.enable = true; + +} diff --git a/modules/graphical.nix b/modules/sway.nix similarity index 100% rename from modules/graphical.nix rename to modules/sway.nix diff --git a/modules/virtualization.nix b/modules/virtualization.nix index bf33cc9..745451c 100644 --- a/modules/virtualization.nix +++ b/modules/virtualization.nix @@ -3,6 +3,7 @@ { environment.systemPackages = with pkgs; [ virt-manager + bridge-utils ]; boot.binfmt.emulatedSystems = [ "aarch64-linux" ]; diff --git a/pkgs/imhex.nix b/pkgs/imhex.nix index f7d912f..510f91c 100644 --- a/pkgs/imhex.nix +++ b/pkgs/imhex.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, cmake, openssl, pkgconfig, wrapQtAppsHook, fetchFromGithub }: { +{ stdenv, lib, cmake, openssl, pkgconfig, wrapQtAppsHook, fetchFromGithub }: stdenv.mkDerivation rec { pname = "imhex"; version = "1.24.3"; @@ -9,9 +9,8 @@ rev = "v${version}"; sha256 = lib.fakeSha256; }; - }; - nariveBuildInputs = [ + nativeBuildInputs = [ cmake ]; -} + }