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