From b8a5c62b112859f463a53ac97b43f7f8cdc544a9 Mon Sep 17 00:00:00 2001 From: spl3g Date: Sun, 31 Dec 2023 15:08:06 +0300 Subject: uhm --- nixos/configuration.new.nix~ | 100 ------------------ nixos/configuration.nix | 165 ----------------------------- nixos/configuration.old.nix | 180 -------------------------------- nixos/general.nix | 74 +++++++++++++ nixos/hardware-configuration.nix | 52 --------- nixos/laptop/configuration.nix | 47 +++++++++ nixos/laptop/configuration.nix~ | 155 +++++++++++++++++++++++++++ nixos/laptop/hardware-configuration.nix | 52 +++++++++ nixos/pc/configuration.nix | 40 +++++++ nixos/pc/configuration.nix~ | 12 +++ 10 files changed, 380 insertions(+), 497 deletions(-) delete mode 100644 nixos/configuration.new.nix~ delete mode 100644 nixos/configuration.nix delete mode 100644 nixos/configuration.old.nix create mode 100644 nixos/general.nix delete mode 100644 nixos/hardware-configuration.nix create mode 100644 nixos/laptop/configuration.nix create mode 100644 nixos/laptop/configuration.nix~ create mode 100644 nixos/laptop/hardware-configuration.nix create mode 100644 nixos/pc/configuration.nix create mode 100644 nixos/pc/configuration.nix~ (limited to 'nixos') diff --git a/nixos/configuration.new.nix~ b/nixos/configuration.new.nix~ deleted file mode 100644 index 5b6f6c4..0000000 --- a/nixos/configuration.new.nix~ +++ /dev/null @@ -1,100 +0,0 @@ -# This is your system's configuration file. -# Use this to configure your system environment (it replaces /etc/nixos/configuration.nix) - -{ inputs, outputs, lib, config, pkgs, ... }: { - # You can import other NixOS modules here - imports = [ - # If you want to use modules your own flake exports (from modules/nixos): - # outputs.nixosModules.example - - # Or modules from other flakes (such as nixos-hardware): - # inputs.hardware.nixosModules.common-cpu-amd - # inputs.hardware.nixosModules.common-ssd - - # You can also split up your configuration and import pieces of it here: - # ./users.nix - - # Import your generated (nixos-generate-config) hardware configuration - ./hardware-configuration.nix - ]; - - nixpkgs = { - # You can add overlays here - overlays = [ - # Add overlays your own flake exports (from overlays and pkgs dir): - outputs.overlays.additions - outputs.overlays.modifications - outputs.overlays.unstable-packages - - # You can also add overlays exported from other flakes: - # neovim-nightly-overlay.overlays.default - - # Or define it inline, for example: - # (final: prev: { - # hi = final.hello.overrideAttrs (oldAttrs: { - # patches = [ ./change-hello-to-hi.patch ]; - # }); - # }) - ]; - # Configure your nixpkgs instance - config = { - # Disable if you don't want unfree packages - allowUnfree = true; - }; - }; - - nix = { - # This will add each flake input as a registry - # To make nix3 commands consistent with your flake - registry = lib.mapAttrs (_: value: { flake = value; }) inputs; - - # This will additionally add your inputs to the system's legacy channels - # Making legacy nix commands consistent as well, awesome! - nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}") config.nix.registry; - - settings = { - # Enable flakes and new 'nix' command - experimental-features = "nix-command flakes"; - # Deduplicate and optimize nix store - auto-optimise-store = true; - }; - }; - - # FIXME: Add the rest of your current configuration - - # TODO: Set your hostname - networking.hostName = "your-hostname"; - - # TODO: This is just an example, be sure to use whatever bootloader you prefer - boot.loader.systemd-boot.enable = true; - - # TODO: Configure your system-wide user settings (groups, etc), add more users as needed. - users.users = { - # FIXME: Replace with your username - your-username = { - # TODO: You can set an initial password for your user. - # If you do, you can skip setting a root password by passing '--no-root-passwd' to nixos-install. - # Be sure to change it (using passwd) after rebooting! - initialPassword = "correcthorsebatterystaple"; - isNormalUser = true; - openssh.authorizedKeys.keys = [ - # TODO: Add your SSH public key(s) here, if you plan on using SSH to connect - ]; - # TODO: Be sure to add any other groups you need (such as networkmanager, audio, docker, etc) - extraGroups = [ "wheel" ]; - }; - }; - - # This setups a SSH server. Very important if you're setting up a headless system. - # Feel free to remove if you don't need it. - services.openssh = { - enable = true; - # Forbid root login through SSH. - permitRootLogin = "no"; - # Use keys only. Remove if you want to SSH using password (not recommended) - passwordAuthentication = false; - }; - - # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion - system.stateVersion = "23.05"; -} \ No newline at end of file diff --git a/nixos/configuration.nix b/nixos/configuration.nix deleted file mode 100644 index f7530ba..0000000 --- a/nixos/configuration.nix +++ /dev/null @@ -1,165 +0,0 @@ -{ inputs, outputs, lib, config, pkgs, ... }: { - # You can import other NixOS modules here - imports = [ - # If you want to use modules your own flake exports (from modules/nixos): - # outputs.nixosModules.example - - # Or modules from other flakes (such as nixos-hardware): - # inputs.hardware.nixosModules.common-cpu-amd - # inputs.hardware.nixosModules.common-ssd - - ./hardware-configuration.nix - inputs.home-manager.nixosModules.home-manager - ]; - - nixpkgs = { - overlays = [ - outputs.overlays.additions - outputs.overlays.modifications - outputs.overlays.unstable-packages - outputs.overlays.emacs-overlay - - # You can also add overlays exported from other flakes: - # neovim-nightly-overlay.overlays.default - ]; - config = { - allowUnfree = true; - }; - }; - - nix = { - # This will add each flake input as a registry - # To make nix3 commands consistent with your flake - registry = lib.mapAttrs (_: value: { flake = value; }) inputs; - - # This will additionally add your inputs to the system's legacy channels - # Making legacy nix commands consistent as well, awesome! - nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}") config.nix.registry; - - gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than 1w"; - }; - - settings = { - # Enable flakes and new 'nix' command - experimental-features = "nix-command flakes"; - # Deduplicate and optimize nix store - auto-optimise-store = true; - # Enable cachix - }; - }; - - time.timeZone = "Europe/Moscow"; - networking.hostName = "ltrr"; - networking.networkmanager = { - enable = true; - }; - - networking.firewall.enable = false; - networking.nftables.enable = true; - - boot.loader = { - systemd-boot.enable = true; - efi.canTouchEfiVariables = true; - }; - - services.openssh.enable = true; - - services = { - xserver = { - enable = true; - - # dm - displayManager = { - lightdm.enable = false; - # defaultSession = "none+bspwm"; - # sddm = { - # enable = true; - # theme = "sugar-dark"; - # }; - }; - - # libinput - libinput.enable = true; - - # wm - windowManager.bspwm.enable = true; - - # Layout - layout = "us,ru"; - xkbOptions = "grp:win_space_toggle"; - }; - - acpid = { - enable = true; - powerEventCommands = ""; - lidEventCommands = "firefox"; - }; - - # Printing - # printing.enable = true; - # printing.drivers = [ pkgs.hplipWithPlugin ]; - # avahi = { - # enable = true; - # nssmdns = true; - # openFirewall = true; - # }; - }; - security.rtkit.enable = true; - services.pipewire = { - enable = true; - audio.enable = true; - wireplumber.enable = true; - alsa.enable = true; - pulse.enable = true; - jack.enable = true; - }; - - environment.systemPackages = with pkgs; [ - vim - git - ntfs3g - xorg.xinit - ]; - services.udisks2 = { - enable = true; - mountOnMedia = true; - }; - - programs.dconf.enable = true; - i18n.defaultLocale = "ru_RU.UTF-8"; - - programs.adb.enable = true; - services.udev.packages = [ - pkgs.android-udev-rules - ]; - - programs.fish.enable = true; - users.users = { - jerpo = { - isNormalUser = true; - shell = pkgs.fish; - openssh.authorizedKeys.keys = [ - # TODO: Add your SSH public key(s) here, if you plan on using SSH to connect - ]; - extraGroups = [ "networkmanager" "wheel" "docker" "input" "adbusers" ]; - }; - }; - - home-manager = { - extraSpecialArgs = { inherit inputs outputs; }; - useGlobalPkgs = true; - useUserPackages = true; - users.jerpo = import ../home-manager/home.nix; - }; - - qt = { - platformTheme = "gtk"; - style = "gtk"; - }; - - # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion - system.stateVersion = "23.05"; -} diff --git a/nixos/configuration.old.nix b/nixos/configuration.old.nix deleted file mode 100644 index bb8a218..0000000 --- a/nixos/configuration.old.nix +++ /dev/null @@ -1,180 +0,0 @@ -# Edit this configuration file to define what should be installed on -# your system. Help is available in the configuration.nix(5) man page -# and in the NixOS manual (accessible by running ‘nixos-help’). - -{ config, pkgs, inputs, outputs, ... }: - -{ - imports = - [ - ./hardware-configuration.nix - inputs.home-manager.nixosModules.home-manager - ]; - - home-manager = { - extraSpecialArgs = { inherit inputs outputs; }; - useGlobalPkgs = true; - useUserPackages = true; - users.jerpo = import ../home-manager/home.nix; - }; - - nix.gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than 1w"; - }; - - nix.settings.auto-optimise-store = true; - - # Bootloader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - - networking.hostName = "ltrr"; - - # Configure network proxy if necessary - # networking.proxy.default = "http://user:password@proxy:port/"; - # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; - - # Enable networking - # networking.networkmanager.enable = true; - - # Set your time zone. - time.timeZone = "Asia/Yekaterinburg"; - - # Select internationalisation properties. - i18n.defaultLocale = "ru_RU.UTF-8"; - - i18n.extraLocaleSettings = { - LC_ADDRESS = "ru_RU.UTF-8"; - LC_IDENTIFICATION = "ru_RU.UTF-8"; - LC_MEASUREMENT = "ru_RU.UTF-8"; - LC_MONETARY = "ru_RU.UTF-8"; - LC_NAME = "ru_RU.UTF-8"; - LC_NUMERIC = "ru_RU.UTF-8"; - LC_PAPER = "ru_RU.UTF-8"; - LC_TELEPHONE = "ru_RU.UTF-8"; - LC_TIME = "ru_RU.UTF-8"; - }; - - # Enable the X11 windowing system. - services.xserver = { - enable = true; - displayManager.sddm = { - enable = true; - theme = "sugar-dark"; - }; - # displayManager.startx.enable = true; - displayManager.defaultSession = "none+bspwm"; - desktopManager.gnome.enable = true; - windowManager.dwm.enable = true; - windowManager.bspwm.enable = true; - }; - - # Configure keymap in X11 - services.xserver = { - layout = "us,ru"; - xkbOptions = "grp:win_space_toggle,grp:alt_shift_toggle"; - }; - - # Enable CUPS to print documents. - services.printing.enable = true; - - # Enable sound with pipewire. - sound.enable = true; - hardware.pulseaudio.enable = false; - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - jack.enable = true; - - # no need to redefine it in your config for now) - #media-session.enable = true; - }; - - # Enable touchpad support (enabled default in most desktopManager). - # services.xserver.libinput.enable = true; - - # Define a user account. Don't forget to set a password with ‘passwd’. - programs.fish.enable = true; - users.defaultUserShell = pkgs.fish; - users.users.jerpo = { - isNormalUser = true; - description = "jerpo"; - extraGroups = [ "networkmanager" "wheel" ]; - }; - - # Allow unfree packages - nixpkgs.config.allowUnfree = true; - - # List packages installed in system profile. To search, run: - # $ nix search wget - environment.systemPackages = with pkgs; [ - vim - wget - git - firefox - neovim - ripgrep - fd - killall - fzf - silver-searcher - tldr - unzip - cmake - python3Full - nodejs_20 - xorg.xinit - gnumake - gcc - btrfs-progs - ntfs3g - libtool - jq - vkd3d - dxvk - wineWowPackages.full - wineWowPackages.fonts - winetricks - nix-prefetch-scripts - xkb-switch - pamixer - rustup - linuxKernel.packages.linux_6_4.v4l2loopback - v4l-utils - ]; - - # services.v2raya.enable = true; - - # Some programs need SUID wrappers, can be configured further or are - # started in user sessions. - # programs.mtr.enable = true; - # programs.gnupg.agent = { - # enable = true; - # enableSSHSupport = true; - # }; - - # List services that you want to enable: - - # Enable the OpenSSH daemon. - # services.openssh.enable = true; - - # Open ports in the firewall. - # networking.firewall.allowedTCPPorts = [ ... ]; - # networking.firewall.allowedUDPPorts = [ ... ]; - # Or disable the firewall altogether. - # networking.firewall.enable = false; - - # This value determines the NixOS release from which the default - # settings for stateful data, like file locations and database versions - # on your system were taken. It‘s perfectly fine and recommended to leave - # this value at the release version of the first install of this system. - # Before changing this value read the documentation for this option - # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). - system.stateVersion = "23.05"; # Did you read the comment? - -} diff --git a/nixos/general.nix b/nixos/general.nix new file mode 100644 index 0000000..f02e889 --- /dev/null +++ b/nixos/general.nix @@ -0,0 +1,74 @@ +{ inputs, outputs, lib, config, pkgs, ... }: { + nixpkgs = { + overlays = [ + outputs.overlays.additions + outputs.overlays.modifications + outputs.overlays.unstable-packages + outputs.overlays.emacs-overlay + + # You can also add overlays exported from other flakes: + # neovim-nightly-overlay.overlays.default + ]; + config = { + allowUnfree = true; + }; + }; + nix = { + # This will add each flake input as a registry + # To make nix3 commands consistent with your flake + registry = lib.mapAttrs (_: value: { flake = value; }) inputs; + + # This will additionally add your inputs to the system's legacy channels + # Making legacy nix commands consistent as well, awesome! + nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}") config.nix.registry; + + gc = { + automatic = true; + dates = "weekly"; + }; + + settings = { + # Enable flakes and new 'nix' command + experimental-features = "nix-command flakes"; + # Deduplicate and optimize nix store + auto-optimise-store = true; + }; + }; + networking.networkmanager = { + enable = true; + }; + networking.firewall.enable = false; + networking.nftables.enable = true; + boot.loader = { + systemd-boot.enable = true; + efi.canTouchEfiVariables = true; + }; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + audio.enable = true; + wireplumber.enable = true; + alsa.enable = true; + pulse.enable = true; + jack.enable = true; + }; + environment.systemPackages = with pkgs; [ + vim + git + ]; + services.udisks2 = { + enable = true; + mountOnMedia = true; + }; + programs.dconf.enable = true; + i18n.defaultLocale = "ru_RU.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/hardware-configuration.nix b/nixos/hardware-configuration.nix deleted file mode 100644 index d829fdb..0000000 --- a/nixos/hardware-configuration.nix +++ /dev/null @@ -1,52 +0,0 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - -{ - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; - - boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" "sdhci_pci" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-intel" ]; - boot.extraModulePackages = [ ]; - - fileSystems."/" = - { device = "/dev/disk/by-uuid/b4d5e165-3c5d-494f-b6f4-dad51c470f4b"; - fsType = "ext4"; - }; - - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/4075-1CD3"; - fsType = "vfat"; - }; - - swapDevices = - [ { device = "/dev/disk/by-uuid/92692e2e-0394-4d43-b309-d0d650af1e21"; } - ]; - - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking - # (the default) this is the recommended approach. When using systemd-networkd it's - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces..useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.eno1.useDHCP = lib.mkDefault true; - # networking.interfaces.wlo1.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; - hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; - hardware.bluetooth = { - enable = true; - powerOnBoot = true; - }; - hardware.opengl = { - enable = true; - driSupport = true; - driSupport32Bit = true; - extraPackages = with pkgs; [ intel-compute-runtime ]; - }; - # hardware.opentabletdriver.enable = true; -} diff --git a/nixos/laptop/configuration.nix b/nixos/laptop/configuration.nix new file mode 100644 index 0000000..948aed6 --- /dev/null +++ b/nixos/laptop/configuration.nix @@ -0,0 +1,47 @@ +{ inputs, outputs, pkgs, ... }: { + # You can import other NixOS modules here + imports = [ + # If you want to use modules your own flake exports (from modules/nixos): + # outputs.nixosModules.example + + # Or modules from other flakes (such as nixos-hardware): + # inputs.hardware.nixosModules.common-cpu-amd + # inputs.hardware.nixosModules.common-ssd + + ../general.nix + ./hardware-configuration.nix + inputs.home-manager.nixosModules.home-manager + ]; + + + time.timeZone = "Europe/Moscow"; + networking.hostName = "ltrr-mini"; + + virtualisation.libvirtd.enable = true; + programs.virt-manager.enable = true; + + services.xserver = { + enable = false; + displayManager.lightdm.enable = false; + }; + + + environment.systemPackages = with pkgs; [ + qemu + ]; + + programs.adb.enable = true; + services.udev.packages = [ + pkgs.android-udev-rules + ]; + + home-manager = { + extraSpecialArgs = { inherit inputs outputs; }; + useGlobalPkgs = true; + useUserPackages = true; + users.jerpo = import ../../home-manager/laptop; + }; + + # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion + system.stateVersion = "23.05"; +} diff --git a/nixos/laptop/configuration.nix~ b/nixos/laptop/configuration.nix~ new file mode 100644 index 0000000..0309aca --- /dev/null +++ b/nixos/laptop/configuration.nix~ @@ -0,0 +1,155 @@ +{ inputs, outputs, lib, config, pkgs, ... }: { + # You can import other NixOS modules here + imports = [ + # If you want to use modules your own flake exports (from modules/nixos): + # outputs.nixosModules.example + + # Or modules from other flakes (such as nixos-hardware): + # inputs.hardware.nixosModules.common-cpu-amd + # inputs.hardware.nixosModules.common-ssd + + ./hardware-configuration.nix + inputs.home-manager.nixosModules.home-manager + ]; + + nixpkgs = { + overlays = [ + outputs.overlays.additions + outputs.overlays.modifications + outputs.overlays.unstable-packages + outputs.overlays.emacs-overlay + + # You can also add overlays exported from other flakes: + # neovim-nightly-overlay.overlays.default + ]; + config = { + allowUnfree = true; + }; + }; + + nix = { + # This will add each flake input as a registry + # To make nix3 commands consistent with your flake + registry = lib.mapAttrs (_: value: { flake = value; }) inputs; + + # This will additionally add your inputs to the system's legacy channels + # Making legacy nix commands consistent as well, awesome! + nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}") config.nix.registry; + + gc = { + automatic = true; + dates = "weekly"; + }; + + settings = { + # Enable flakes and new 'nix' command + experimental-features = "nix-command flakes"; + # Deduplicate and optimize nix store + auto-optimise-store = true; + }; + }; + + time.timeZone = "Europe/Moscow"; + networking.hostName = "ltrr"; + networking.networkmanager = { + enable = true; + }; + + networking.firewall.enable = false; + networking.nftables.enable = true; + + boot.loader = { + systemd-boot.enable = true; + efi.canTouchEfiVariables = true; + }; + + # services.openssh.enable = true; + + virtualisation.libvirtd.enable = true; + programs.virt-manager.enable = true; + + services.xserver = { + enable = true; + + # dm + displayManager = { + lightdm.enable = false; + # defaultSession = "none+bspwm"; + # sddm = { + # enable = true; + # theme = "sugar-dark"; + # }; + }; + + # libinput + libinput.enable = true; + + # wm + # windowManager.bspwm.enable = true; + + # Layout + layout = "us,ru"; + xkbOptions = "grp:win_space_toggle"; + }; + + # Printing + # printing.enable = true; + # printing.drivers = [ pkgs.hplipWithPlugin ]; + # avahi = { + # enable = true; + # nssmdns = true; + # openFirewall = true; + # }; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + audio.enable = true; + wireplumber.enable = true; + alsa.enable = true; + pulse.enable = true; + jack.enable = true; + }; + + environment.systemPackages = with pkgs; [ + vim + git + qemu + ]; + services.udisks2 = { + enable = true; + mountOnMedia = true; + }; + + programs.dconf.enable = true; + i18n.defaultLocale = "ru_RU.UTF-8"; + + programs.adb.enable = true; + services.udev.packages = [ + pkgs.android-udev-rules + ]; + + programs.fish.enable = true; + users.users = { + jerpo = { + isNormalUser = true; + shell = pkgs.fish; + extraGroups = [ "networkmanager" "wheel" "docker" "libvirtd" "input" "adbusers" ]; + }; + }; + + users.users.test3 = { + isNormalUser = true; + extraGroups = [ "wheel" ]; + home = "/home/test2"; + }; + + home-manager = { + extraSpecialArgs = { inherit inputs outputs; }; + useGlobalPkgs = true; + useUserPackages = true; + users.jerpo = import ../home-manager/home.nix; + }; + + # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion + system.stateVersion = "23.05"; +} diff --git a/nixos/laptop/hardware-configuration.nix b/nixos/laptop/hardware-configuration.nix new file mode 100644 index 0000000..e3e8a01 --- /dev/null +++ b/nixos/laptop/hardware-configuration.nix @@ -0,0 +1,52 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" "sdhci_pci" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/b4d5e165-3c5d-494f-b6f4-dad51c470f4b"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/4075-1CD3"; + fsType = "vfat"; + }; + + swapDevices = + [ { device = "/dev/disk/by-uuid/92692e2e-0394-4d43-b309-d0d650af1e21"; } + ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.eno1.useDHCP = lib.mkDefault true; + # networking.interfaces.wlo1.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + + hardware.bluetooth = { + enable = true; + }; + + hardware.opengl = { + enable = true; + driSupport = true; + driSupport32Bit = true; + extraPackages = with pkgs; [ intel-compute-runtime ]; + }; + # hardware.opentabletdriver.enable = true; +} diff --git a/nixos/pc/configuration.nix b/nixos/pc/configuration.nix new file mode 100644 index 0000000..ef63c66 --- /dev/null +++ b/nixos/pc/configuration.nix @@ -0,0 +1,40 @@ +{ inputs, outputs, lib, config, pkgs, ... }: { + imports = [ + ../general.nix + inputs.home-manager.nixosModules.home-manager + ]; + + 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; + printing.drivers = [ pkgs.hplipWithPlugin ]; + avahi = { + enable = true; + nssmdns = true; + openFirewall = true; + }; + }; + + home-manager = { + extraSpecialArgs = { inherit inputs outputs; }; + useGlobalPkgs = true; + useUserPackages = true; + users.jerpo = import ../home-manager/pc; + }; + +} diff --git a/nixos/pc/configuration.nix~ b/nixos/pc/configuration.nix~ new file mode 100644 index 0000000..b6fa0a7 --- /dev/null +++ b/nixos/pc/configuration.nix~ @@ -0,0 +1,12 @@ +{ inputs, outputs, lib, config, pkgs, ... }: { + imports = [ + ../general.nix + inputs.home-manager.nixosModules.home-manager + ]; + + time.timeZone = "Europe/Yekaterinburg"; + + services.xserver = { + enable = true; + }; +} -- cgit v1.2.3