aboutsummaryrefslogtreecommitdiff
path: root/nixos/laptop
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/laptop')
-rw-r--r--nixos/laptop/configuration.nix47
-rw-r--r--nixos/laptop/configuration.nix~155
-rw-r--r--nixos/laptop/hardware-configuration.nix52
3 files changed, 254 insertions, 0 deletions
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.<interface>.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;
+}