diff options
Diffstat (limited to 'nixos')
| -rw-r--r-- | nixos/general.nix | 42 | ||||
| -rw-r--r-- | nixos/laptop/configuration.nix | 59 | ||||
| -rw-r--r-- | nixos/nixosModules/default.nix | 11 | ||||
| -rw-r--r-- | nixos/nixosModules/disks.nix | 17 | ||||
| -rw-r--r-- | nixos/nixosModules/docker.nix | 20 | ||||
| -rw-r--r-- | nixos/nixosModules/greetd.nix | 22 | ||||
| -rw-r--r-- | nixos/nixosModules/powerbutton.nix | 14 | ||||
| -rw-r--r-- | nixos/nixosModules/printing.nix | 18 | ||||
| -rw-r--r-- | nixos/nixosModules/stylix.nix | 24 | ||||
| -rw-r--r-- | nixos/nixosModules/user.nix | 18 | ||||
| -rw-r--r-- | nixos/pc/configuration.nix | 12 |
11 files changed, 174 insertions, 83 deletions
diff --git a/nixos/general.nix b/nixos/general.nix index 71400c8..84d8131 100644 --- a/nixos/general.nix +++ b/nixos/general.nix @@ -1,6 +1,10 @@ { inputs, outputs, lib, config, pkgs, ... }: { + imports = [ + ./nixosModules + ]; + nixpkgs = { overlays = [ outputs.overlays.additions @@ -11,7 +15,7 @@ allowUnfree = true; }; }; - + nix = { # This will add each flake input as a registry # To make nix3 commands consistent with your flake @@ -35,13 +39,19 @@ trusted-users = [ "root" "@wheel" ]; }; }; + + # from nixosModules + disks.enable = true; + user.enable = true; + greetd.enable = true; + stylix.enable = true; networking.networkmanager = { enable = true; }; - # networking.nftables.enable = true; - networking.firewall.enable = false; + networking.nftables.enable = true; + # networking.firewall.enable = false; boot.loader = { systemd-boot.enable = true; @@ -64,19 +74,18 @@ neovim git nh + home-manager ]; - services = { - devmon.enable = true; - gvfs.enable = true; - udisks2 = { - enable = true; - mountOnMedia = true; + services.v2raya.enable = true; + services.openvpn = { + servers.prostovpn = { + autoStart = true; + config = "config /home/jerpo/.prostovpn.ovpn"; + updateResolvConf = true; }; }; - services.v2raya.enable = true; - fonts = { packages = with pkgs; [ # icon fonts @@ -100,7 +109,7 @@ fontconfig.defaultFonts = { serif = [ "Noto Serif" "Noto Color Emoji" ]; sansSerif = [ "Noto Sans" "Noto Color Emoji" ]; - monospace = [ "Source Code Pro" ]; + monospace = [ "Sauce Code Pro Nerd Font" ]; emoji = [ "Noto Color Emoji" ]; }; }; @@ -108,13 +117,4 @@ programs.dconf.enable = true; i18n.defaultLocale = "en_US.UTF-8"; - programs.fish.enable = true; - users.users = { - jerpo = { - isNormalUser = true; - shell = pkgs.fish; - extraGroups = [ "networkmanager" "wheel" "docker" "libvirtd" "input" "adbusers" ]; - }; - }; - } diff --git a/nixos/laptop/configuration.nix b/nixos/laptop/configuration.nix index 2ec1099..9abd497 100644 --- a/nixos/laptop/configuration.nix +++ b/nixos/laptop/configuration.nix @@ -10,20 +10,13 @@ ../general.nix ./hardware-configuration.nix - inputs.home-manager.nixosModules.home-manager + ../nixosModules/powerbutton.nix + ../nixosModules/docker.nix ]; - services.greetd = { - enable = true; - settings = { - default_session = { - command = "${pkgs.greetd.tuigreet}/bin/tuigreet -t -r -c Hyprland"; - user = "jerpo"; - }; - }; - }; - - programs.niri.enable = true; + # from nixosModules + pbutton.disable = true; + docker.enable = true; time.timeZone = "Europe/Moscow"; networking.hostName = "ltrr-mini"; @@ -31,49 +24,15 @@ virtualisation.libvirtd.enable = true; programs.virt-manager.enable = true; - services.xserver = { - enable = false; - displayManager.lightdm.enable = false; - }; - - environment.systemPackages = with pkgs; [ - joycond-cemuhook - ]; - - virtualisation.docker = { - enable = true; - liveRestore = true; - daemon.settings = { - bip = "172.20.0.1/16"; - default-address-pools = [{ - base = "172.20.0.0/8"; - size = 16; - }]; - }; - }; - - # virtualisation.waydroid.enable = true; - programs.adb.enable = true; services.udev.packages = [ pkgs.android-udev-rules ]; - + services.joycond.enable = true; - - home-manager = { - extraSpecialArgs = { inherit inputs outputs; }; - useGlobalPkgs = true; - useUserPackages = true; - users.jerpo = import ../../home-manager/laptop; - }; - - services.logind.extraConfig = '' - HandlePowerKey=ignore - HandleLidSwitch=suspend - HandleLidSwitchExternalPower=suspend - ''; - + environment.systemPackages = with pkgs; [ + joycond-cemuhook + ]; # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion system.stateVersion = "23.05"; diff --git a/nixos/nixosModules/default.nix b/nixos/nixosModules/default.nix new file mode 100644 index 0000000..05b64be --- /dev/null +++ b/nixos/nixosModules/default.nix @@ -0,0 +1,11 @@ +{ + imports = [ + ./user.nix + ./disks.nix + ./docker.nix + ./greetd.nix + ./stylix.nix + ./powerbutton.nix + ./printing.nix + ]; +} diff --git a/nixos/nixosModules/disks.nix b/nixos/nixosModules/disks.nix new file mode 100644 index 0000000..e7a374a --- /dev/null +++ b/nixos/nixosModules/disks.nix @@ -0,0 +1,17 @@ +{ pkgs, config, lib, ... }: + +{ + options = { + disks.enable = lib.mkEnableOption "auto disk mount"; + }; + config = lib.mkIf config.disks.enable { + services = { + devmon.enable = true; + gvfs.enable = true; + udisks2 = { + enable = true; + mountOnMedia = true; + }; + }; + }; +} diff --git a/nixos/nixosModules/docker.nix b/nixos/nixosModules/docker.nix new file mode 100644 index 0000000..0536d7e --- /dev/null +++ b/nixos/nixosModules/docker.nix @@ -0,0 +1,20 @@ +{ pkgs, config, lib, ... }: + +{ + options = { + docker.enable = lib.mkEnableOption "enable docker"; + }; + config = lib.mkIf config.docker.enable { + virtualisation.docker = { + enable = true; + liveRestore = true; + daemon.settings = { + bip = "172.20.0.1/16"; + default-address-pools = [{ + base = "172.20.0.0/8"; + size = 16; + }]; + }; + }; + }; +} diff --git a/nixos/nixosModules/greetd.nix b/nixos/nixosModules/greetd.nix new file mode 100644 index 0000000..f48c291 --- /dev/null +++ b/nixos/nixosModules/greetd.nix @@ -0,0 +1,22 @@ +{ pkgs, config, lib, inputs, outputs, ... }: + +{ + imports = [ + inputs.stylix.nixosModules.stylix + ]; + + options = { + greetd.enable = lib.mkEnableOption "enable greetd"; + }; + config = lib.mkIf config.greetd.enable { + services.greetd = { + enable = true; + settings = { + default_session = { + command = "${pkgs.greetd.tuigreet}/bin/tuigreet -t -r -c Hyprland"; + user = "jerpo"; + }; + }; + }; + }; +} diff --git a/nixos/nixosModules/powerbutton.nix b/nixos/nixosModules/powerbutton.nix new file mode 100644 index 0000000..fdf1ceb --- /dev/null +++ b/nixos/nixosModules/powerbutton.nix @@ -0,0 +1,14 @@ +{ pkgs, config, lib, ... }: + +{ + options = { + pbutton.disable = lib.mkEnableOption "enable pbutton"; + }; + config = lib.mkIf config.pbutton.disable { + services.logind.extraConfig = '' + HandlePowerKey=ignore + HandleLidSwitch=suspend + HandleLidSwitchExternalPower=suspend + ''; + }; +} diff --git a/nixos/nixosModules/printing.nix b/nixos/nixosModules/printing.nix new file mode 100644 index 0000000..3d4eee1 --- /dev/null +++ b/nixos/nixosModules/printing.nix @@ -0,0 +1,18 @@ +{ pkgs, config, lib, ... }: + +{ + options = { + printing.enable = lib.mkEnableOption "enable printing"; + }; + config = lib.mkIf config.printing.enable { + services = { + printing.enable = true; + printing.drivers = [ pkgs.hplipWithPlugin ]; + avahi = { + enable = true; + nssmdns = true; + openFirewall = true; + }; + }; + }; +} diff --git a/nixos/nixosModules/stylix.nix b/nixos/nixosModules/stylix.nix new file mode 100644 index 0000000..7daab8e --- /dev/null +++ b/nixos/nixosModules/stylix.nix @@ -0,0 +1,24 @@ +{ pkgs, config, lib, outputs, ... }: + +{ + options = { + stylix.enable = lib.mkEnableOption "enable stylix"; + }; + config = lib.mkIf config.stylix.enable { + stylix = with outputs.homeConfigurations."jerpo@ltrr-mini".config.stylix; { + image = image; + base16Scheme = base16Scheme; + autoEnable = false; + targets.console.enable = true; + fonts = with fonts; { + serif = serif; + + sansSerif = sansSerif; + + monospace = monospace; + + emoji = emoji; + }; + }; + }; +} diff --git a/nixos/nixosModules/user.nix b/nixos/nixosModules/user.nix new file mode 100644 index 0000000..da40b09 --- /dev/null +++ b/nixos/nixosModules/user.nix @@ -0,0 +1,18 @@ +{ pkgs, config, lib, ... }: + +{ + options = { + user.enable = lib.mkEnableOption "default user configuration"; + }; + config = lib.mkIf config.user.enable { + programs.fish.enable = true; + users.users = { + jerpo = { + isNormalUser = true; + shell = pkgs.fish; + extraGroups = [ "networkmanager" "wheel" "docker" "libvirtd" "input" "adbusers" ]; + }; + }; + + }; +} diff --git a/nixos/pc/configuration.nix b/nixos/pc/configuration.nix index ef63c66..c691028 100644 --- a/nixos/pc/configuration.nix +++ b/nixos/pc/configuration.nix @@ -7,18 +7,6 @@ time.timeZone = "Europe/Yekaterinburg"; networking.hostName = "ltrr"; - services.xserver = { - enable = true; - displayManager.sddm.enable = true; - - # wm - windowManager.bspwm.enable = true; - - # Layout - layout = "us,ru"; - xkbOptions = "grp:win_space_toggle"; - }; - # Printing services = { printing.enable = true; |
