summaryrefslogtreecommitdiff
path: root/unmoved-modules/nixos
diff options
context:
space:
mode:
Diffstat (limited to 'unmoved-modules/nixos')
-rw-r--r--unmoved-modules/nixos/bluetooth.nix9
-rw-r--r--unmoved-modules/nixos/default.nix81
-rw-r--r--unmoved-modules/nixos/fish.nix13
-rw-r--r--unmoved-modules/nixos/flatpak.nix13
-rw-r--r--unmoved-modules/nixos/gaming.nix19
-rw-r--r--unmoved-modules/nixos/greetd.nix18
-rw-r--r--unmoved-modules/nixos/ly.nix5
-rw-r--r--unmoved-modules/nixos/nas.nix101
-rw-r--r--unmoved-modules/nixos/nix-ld.nix32
-rw-r--r--unmoved-modules/nixos/nordvpn.nix0
-rw-r--r--unmoved-modules/nixos/pipewire.nix10
-rw-r--r--unmoved-modules/nixos/steam.nix19
-rw-r--r--unmoved-modules/nixos/thunar.nix17
-rw-r--r--unmoved-modules/nixos/xdg-portal.nix14
14 files changed, 351 insertions, 0 deletions
diff --git a/unmoved-modules/nixos/bluetooth.nix b/unmoved-modules/nixos/bluetooth.nix
new file mode 100644
index 0000000..0d60d4d
--- /dev/null
+++ b/unmoved-modules/nixos/bluetooth.nix
@@ -0,0 +1,9 @@
+{ pkgs, ... }:
+
+{
+ hardware.bluetooth.enable = true;
+ hardware.bluetooth.powerOnBoot = false;
+
+ environment.systemPackages = with pkgs; [
+ ];
+} \ No newline at end of file
diff --git a/unmoved-modules/nixos/default.nix b/unmoved-modules/nixos/default.nix
new file mode 100644
index 0000000..2c7123a
--- /dev/null
+++ b/unmoved-modules/nixos/default.nix
@@ -0,0 +1,81 @@
+{ pkgs, ... }:
+
+{
+ imports = [
+ ./pipewire.nix
+ ./flatpak.nix
+ ./greetd.nix
+ ./xdg-portal.nix
+ ./bluetooth.nix
+ ./thunar.nix
+ ./gaming.nix
+ ./nix-ld.nix
+ # ./nordvpn.nix
+ # ./ly.nix
+ ./nas.nix
+ ./fish.nix
+ ];
+
+ users.users.jck.packages = with pkgs; [
+ pwvucontrol
+ nix-tree
+ lxqt.lxqt-policykit
+ lxqt.lxqt-archiver
+ rsync
+ killall
+ unzip
+ p7zip-rar
+ xsel
+ unar
+ unrar-wrapper
+ brightnessctl
+ ntfs3g
+ ];
+
+ programs.localsend.enable = true;
+
+ fonts.packages = with pkgs; [
+ nerd-fonts.jetbrains-mono
+ jetbrains-mono
+ ];
+
+ fonts.fontconfig.defaultFonts = {
+ monospace = [
+ "JetBrainsMono Nerd Font"
+ ];
+ };
+
+ programs.nh = {
+ enable = true;
+ clean.enable = true;
+ clean.extraArgs = "--keep-since 3d --keep 3";
+ clean.dates = "daily";
+ flake = "/home/jck/nixosconf/";
+ };
+
+ services.printing = {
+ enable = true;
+ drivers = with pkgs; [
+ brlaser
+ gutenprint
+ brgenml1lpr
+ brgenml1cupswrapper
+ # cnijfilter2
+ ];
+ };
+
+ services.avahi = {
+ enable = true;
+ nssmdns4 = true;
+ openFirewall = true;
+ };
+
+ programs.partition-manager.enable = true;
+ services.udisks2.enable = true;
+
+ services.mullvad-vpn.enable = true;
+ services.mullvad-vpn.package = pkgs.mullvad-vpn;
+ services.mullvad-vpn.enableExcludeWrapper = true;
+
+ programs.fish.enable = true;
+}
diff --git a/unmoved-modules/nixos/fish.nix b/unmoved-modules/nixos/fish.nix
new file mode 100644
index 0000000..1b06707
--- /dev/null
+++ b/unmoved-modules/nixos/fish.nix
@@ -0,0 +1,13 @@
+{ pkgs, ... }:
+
+{
+ programs.fish = {
+ enable = true;
+
+ shellInit = ''
+ function fish_greeting
+ fastfetch
+ end
+ '';
+ };
+}
diff --git a/unmoved-modules/nixos/flatpak.nix b/unmoved-modules/nixos/flatpak.nix
new file mode 100644
index 0000000..c5f065a
--- /dev/null
+++ b/unmoved-modules/nixos/flatpak.nix
@@ -0,0 +1,13 @@
+{ config, pkgs, lib, inputs, outputs, ... }:
+
+{
+ services.flatpak = {
+ enable = true;
+
+ packages = [
+ #"org.kde.kwrite"
+ ];
+
+ update.onActivation = true;
+ };
+}
diff --git a/unmoved-modules/nixos/gaming.nix b/unmoved-modules/nixos/gaming.nix
new file mode 100644
index 0000000..085dd43
--- /dev/null
+++ b/unmoved-modules/nixos/gaming.nix
@@ -0,0 +1,19 @@
+{ pkgs, lib, config, ... }:
+
+{
+ options = {
+ gaming.enable = lib.mkEnableOption "enables gaming module";
+ };
+
+ imports = [
+ ./steam.nix
+ ];
+
+ config = lib.mkIf config.gaming.enable {
+ services.flatpak = {
+ packages = [
+ "org.vinegarhq.Sober"
+ ];
+ };
+ };
+} \ No newline at end of file
diff --git a/unmoved-modules/nixos/greetd.nix b/unmoved-modules/nixos/greetd.nix
new file mode 100644
index 0000000..89d100a
--- /dev/null
+++ b/unmoved-modules/nixos/greetd.nix
@@ -0,0 +1,18 @@
+{ config, pkgs, ... }:
+
+{
+ environment.systemPackages = with pkgs; [
+ tuigreet
+ seatd
+ ];
+
+ services.greetd = {
+ enable = true;
+
+ settings = {
+ default_session = {
+ command = "${pkgs.tuigreet}/bin/tuigreet --user-menu -t --asterisks -c start-hyprland";
+ };
+ };
+ };
+}
diff --git a/unmoved-modules/nixos/ly.nix b/unmoved-modules/nixos/ly.nix
new file mode 100644
index 0000000..5affbb0
--- /dev/null
+++ b/unmoved-modules/nixos/ly.nix
@@ -0,0 +1,5 @@
+{
+ services.displayManager.ly = {
+ enable = true;
+ };
+}
diff --git a/unmoved-modules/nixos/nas.nix b/unmoved-modules/nixos/nas.nix
new file mode 100644
index 0000000..9cb2067
--- /dev/null
+++ b/unmoved-modules/nixos/nas.nix
@@ -0,0 +1,101 @@
+{ config, pkgs, lib, ... }:
+
+{
+ options = {
+ client.nas.enable = lib.mkEnableOption "enables nas";
+ };
+
+ config = lib.mkIf config.client.nas.enable {
+ services.tailscale.enable = true;
+ services.tailscale.useRoutingFeatures = "client";
+ services.tailscale.openFirewall = true;
+ services.tailscale.extraUpFlags = [ "--accept-dns=false" ];
+ networking.nftables.enable = true;
+ networking.firewall = {
+ enable = true;
+ trustedInterfaces = [ "tailscale0" ];
+ allowedUDPPorts = [ config.services.tailscale.port ];
+ };
+
+ networking.nftables = {
+ tables = {
+ mullvad_tailscale = {
+ content = ''
+ chain output {
+ type route hook output priority 0; policy accept;
+ ip daddr 100.64.0.0/10 ct mark set 0x00000f41 meta mark set 0x6d6f6c65;
+ }
+ '';
+ family = "inet";
+ };
+ };
+ };
+
+ systemd.services.tailscaled.serviceConfig.Environment = [
+ "TS_DEBUG_FIREWALL_MODE=nftables"
+ ];
+
+ systemd.network.wait-online.enable = false;
+ boot.initrd.systemd.network.wait-online.enable = false;
+
+ boot.supportedFilesystems = [ "nfs" ];
+
+ environment.systemPackages = with pkgs; [
+ nfs-utils
+ ];
+
+ fileSystems."/mnt/data" = {
+ device = "100.64.0.2:/tank/data";
+ fsType = "nfs4";
+
+ options = [
+ "x-systemd.automount"
+ "noauto"
+ "nofail"
+ "_netdev"
+
+ "hard"
+ "noatime"
+
+ "x-systemd.mount-timeout=10"
+ "x-systemd.idle-timeout=600"
+ ];
+ };
+
+ fileSystems."/mnt/backups" = {
+ device = "100.64.0.2:/tank/backups";
+ fsType = "nfs4";
+
+ options = [
+ "x-systemd.automount"
+ "noauto"
+ "nofail"
+ "_netdev"
+
+ "hard"
+ "noatime"
+
+ "x-systemd.mount-timeout=10"
+ "x-systemd.idle-timeout=600"
+ ];
+ };
+
+ fileSystems."/mnt/media" = {
+ device = "100.64.0.2:/tank/media";
+ fsType = "nfs4";
+
+ options = [
+ "x-systemd.automount"
+ "noauto"
+ "nofail"
+ "_netdev"
+
+ "hard"
+ "noatime"
+
+ "x-systemd.mount-timeout=10"
+ "x-systemd.idle-timeout=600"
+ ];
+ };
+ };
+}
diff --git a/unmoved-modules/nixos/nix-ld.nix b/unmoved-modules/nixos/nix-ld.nix
new file mode 100644
index 0000000..f35d2ec
--- /dev/null
+++ b/unmoved-modules/nixos/nix-ld.nix
@@ -0,0 +1,32 @@
+{ pkgs, ... }:
+
+{
+ programs.nix-ld = {
+ enable = true;
+ libraries = with pkgs; [
+ # List by default
+ zlib
+ zstd
+ stdenv.cc.cc
+ curl
+ openssl
+ attr
+ libssh
+ bzip2
+ libxml2
+ acl
+ libsodium
+ util-linux
+ xz
+ systemd
+ glib
+ gtk2
+
+ # other additions
+ jq
+ unzip
+ py7zr
+ # python3Full
+ ];
+ };
+} \ No newline at end of file
diff --git a/unmoved-modules/nixos/nordvpn.nix b/unmoved-modules/nixos/nordvpn.nix
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/unmoved-modules/nixos/nordvpn.nix
diff --git a/unmoved-modules/nixos/pipewire.nix b/unmoved-modules/nixos/pipewire.nix
new file mode 100644
index 0000000..5eac9eb
--- /dev/null
+++ b/unmoved-modules/nixos/pipewire.nix
@@ -0,0 +1,10 @@
+{
+ services.pipewire = {
+ enable = true;
+ alsa.enable = true;
+ alsa.support32Bit = true;
+ jack.enable = true;
+ pulse.enable = true;
+ socketActivation = true;
+ };
+}
diff --git a/unmoved-modules/nixos/steam.nix b/unmoved-modules/nixos/steam.nix
new file mode 100644
index 0000000..ed2619e
--- /dev/null
+++ b/unmoved-modules/nixos/steam.nix
@@ -0,0 +1,19 @@
+{ config, pkgs, lib, inputs, ... }:
+
+{
+ config = lib.mkIf config.gaming.enable {
+ programs.steam = {
+ enable = true;
+ package = pkgs.steam;
+ protontricks.enable = true;
+ extest.enable = true;
+
+ extraCompatPackages = with pkgs; [
+ proton-ge-bin
+ mangohud
+ ];
+ };
+
+ programs.gamemode.enable = true;
+ };
+} \ No newline at end of file
diff --git a/unmoved-modules/nixos/thunar.nix b/unmoved-modules/nixos/thunar.nix
new file mode 100644
index 0000000..a698f63
--- /dev/null
+++ b/unmoved-modules/nixos/thunar.nix
@@ -0,0 +1,17 @@
+{ pkgs, ... }:
+
+{
+ programs.thunar = {
+ enable = true;
+
+ plugins = with pkgs; [
+ thunar-archive-plugin
+ thunar-media-tags-plugin
+ thunar-volman
+ ];
+ };
+
+ programs.xfconf.enable = true;
+ services.gvfs.enable = true;
+ services.tumbler.enable = true;
+}
diff --git a/unmoved-modules/nixos/xdg-portal.nix b/unmoved-modules/nixos/xdg-portal.nix
new file mode 100644
index 0000000..51035a4
--- /dev/null
+++ b/unmoved-modules/nixos/xdg-portal.nix
@@ -0,0 +1,14 @@
+{ pkgs, ... }:
+
+{
+ xdg.portal = {
+ enable = true;
+
+ config.common.default = "*";
+
+ extraPortals = with pkgs; [
+ xdg-desktop-portal-hyprland
+ xdg-desktop-portal-gtk
+ ];
+ };
+}