Refractor to dendritic approach.
This commit is contained in:
@@ -1,53 +1,42 @@
|
||||
# This is your system's configuration file.
|
||||
# Use this to configure your system environment (it replaces /etc/nixos/configuration.nix)
|
||||
{
|
||||
inputs,
|
||||
outputs,
|
||||
suiteModules,
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
# You can import other NixOS modules here
|
||||
|
||||
virtualisation.vmVariant = {
|
||||
virtualisation.resolution = {
|
||||
x = 1280;
|
||||
y = 1024;
|
||||
};
|
||||
virtualisation.qemu.options = [
|
||||
# Better display option
|
||||
"-vga virtio"
|
||||
"-display gtk,zoom-to-fit=false"
|
||||
# Enable copy/paste
|
||||
# https://www.kraxel.org/blog/2021/05/qemu-cut-paste/
|
||||
"-chardev qemu-vdagent,id=ch1,name=vdagent,clipboard=on"
|
||||
"-device virtio-serial-pci"
|
||||
"-device virtserialport,chardev=ch1,id=ch1,name=com.redhat.spice.0"
|
||||
];
|
||||
};
|
||||
|
||||
imports = [
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
outputs.nixosModules
|
||||
];
|
||||
|
||||
nixpkgs.hostPlatform = "x86_64-linux";
|
||||
|
||||
nixpkgs = {
|
||||
overlays = [
|
||||
inputs.azos-core.overlays.addpkgs
|
||||
# outputs.overlays.additions
|
||||
# outputs.overlays.modifications
|
||||
# outputs.overlays.unstable-packages
|
||||
outputs.overlays.addpkgs
|
||||
];
|
||||
# Configure your nixpkgs instance
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
};
|
||||
};
|
||||
|
||||
nix.registry = (lib.mapAttrs (_: flake: {inherit flake;})) ((lib.filterAttrs (_: lib.isType "flake")) inputs);
|
||||
|
||||
nix.nixPath = ["/etc/nix/path"];
|
||||
environment.etc =
|
||||
lib.mapAttrs'
|
||||
@@ -59,21 +48,17 @@
|
||||
|
||||
nix.settings = {
|
||||
experimental-features = "nix-command flakes";
|
||||
# Deduplicate and optimize nix store
|
||||
auto-optimise-store = true;
|
||||
};
|
||||
|
||||
# TODO: Set your hostname
|
||||
networking.hostName = "test-vm";
|
||||
|
||||
# TODO: This is just an example, be sure to use whatever bootloader you prefer
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
home-manager = {
|
||||
extraSpecialArgs = {inherit inputs outputs;};
|
||||
extraSpecialArgs = {inherit inputs outputs suiteModules pkgs;};
|
||||
users = {
|
||||
# Import your home-manager configuration
|
||||
aner = import ../home-manager/home.nix;
|
||||
};
|
||||
};
|
||||
@@ -82,28 +67,18 @@
|
||||
aner = {
|
||||
initialPassword = "password";
|
||||
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)
|
||||
openssh.authorizedKeys.keys = [];
|
||||
extraGroups = ["wheel" "libvirtd"];
|
||||
};
|
||||
};
|
||||
|
||||
# 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;
|
||||
settings = {
|
||||
# Forbid root login through SSH.
|
||||
PermitRootLogin = "no";
|
||||
# Use keys only. Remove if you want to SSH using password (not recommended)
|
||||
PasswordAuthentication = true;
|
||||
};
|
||||
};
|
||||
|
||||
#Graphical environment
|
||||
# services.xserver.desktopManager.xfce.enable = true;
|
||||
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
||||
system.stateVersion = "24.05";
|
||||
}
|
||||
|
||||
+12
-23
@@ -1,6 +1,7 @@
|
||||
{
|
||||
inputs,
|
||||
outputs,
|
||||
suiteModules,
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
@@ -11,20 +12,22 @@
|
||||
inputs.nixos-hardware.nixosModules.lenovo-thinkpad-t480
|
||||
inputs.musnix.nixosModules.musnix
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
outputs.nixosModules
|
||||
outputs.azos-core.nixosModules
|
||||
suiteModules.nixos.base
|
||||
suiteModules.nixos.exwm
|
||||
suiteModules.nixos.audio
|
||||
suiteModules.nixos.bluetooth
|
||||
suiteModules.nixos.steam
|
||||
suiteModules.nixos.virtualization
|
||||
suiteModules.nixos.binfmt
|
||||
];
|
||||
|
||||
# Bootloader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
boot.binfmt.emulatedSystems = ["aarch64-linux"];
|
||||
|
||||
nixpkgs = {
|
||||
overlays = [
|
||||
inputs.azos-core.overlays.addpkgs
|
||||
outputs.overlays.addpkgs
|
||||
inputs.azos-core.overlays.qutebrowserdrm
|
||||
outputs.overlays.qutebrowserdrm
|
||||
outputs.overlays.modifications
|
||||
outputs.overlays.unstable-packages
|
||||
];
|
||||
@@ -34,20 +37,14 @@
|
||||
};
|
||||
|
||||
nix.registry = (lib.mapAttrs (_: flake: {inherit flake;})) ((lib.filterAttrs (_: lib.isType "flake")) inputs);
|
||||
|
||||
nix.nixPath = ["/etc/nix/path"];
|
||||
|
||||
networking.hostName = "lauretta"; # Define your hostname.
|
||||
|
||||
# Enable networking
|
||||
networking.hostName = "lauretta";
|
||||
networking.networkmanager.enable = true;
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "Asia/Jerusalem";
|
||||
|
||||
# Select internationalisation properties.
|
||||
i18n.defaultLocale = "en_IL";
|
||||
|
||||
i18n.extraLocaleSettings = {
|
||||
LC_ADDRESS = "he_IL.UTF-8";
|
||||
LC_IDENTIFICATION = "he_IL.UTF-8";
|
||||
@@ -60,7 +57,6 @@
|
||||
LC_TIME = "he_IL.UTF-8";
|
||||
};
|
||||
|
||||
# Configure keymap in X11
|
||||
services.xserver = {
|
||||
xkb = {
|
||||
layout = "us,il";
|
||||
@@ -69,14 +65,11 @@
|
||||
xkb.options = "grp:alt_shift_toggle";
|
||||
};
|
||||
|
||||
# Configure console keymap
|
||||
console.keyMap = "il";
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.aner = {
|
||||
isNormalUser = true;
|
||||
description = "Aner Zakobar";
|
||||
#Audio group for audio config, video group necessary for backlight.
|
||||
extraGroups = ["networkmanager" "wheel" "audio" "video"];
|
||||
packages = with pkgs; [];
|
||||
};
|
||||
@@ -89,17 +82,15 @@
|
||||
azos.suites.exwm.enable = true;
|
||||
|
||||
home-manager = {
|
||||
extraSpecialArgs = {inherit inputs outputs pkgs;};
|
||||
extraSpecialArgs = {inherit inputs outputs suiteModules pkgs;};
|
||||
users = {
|
||||
aner = import ../home-manager/home.nix;
|
||||
};
|
||||
};
|
||||
|
||||
# Specializations
|
||||
specialisation = {
|
||||
hyprland = {
|
||||
configuration = {
|
||||
# Override home‑manager options for this specialization
|
||||
home-manager.users.aner = {pkgs, ...}: {
|
||||
azos.suites.exwm.enable = lib.mkForce false;
|
||||
azos.suites.hyprland.enable = true;
|
||||
@@ -108,8 +99,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
boot.supportedFilesystems = ["exfat"];
|
||||
boot.kernelModules = ["exfat"];
|
||||
|
||||
@@ -131,5 +120,5 @@
|
||||
systemd.targets.hibernate.enable = false;
|
||||
systemd.targets.hybrid-sleep.enable = false;
|
||||
|
||||
system.stateVersion = "25.11"; # Did you read the comment?
|
||||
system.stateVersion = "25.11";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user