First pass at crazy
This commit is contained in:
parent
9de7773af9
commit
59c97c9143
20 changed files with 437 additions and 182 deletions
|
|
@ -1,95 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
|
||||||
|
|
||||||
imports =
|
|
||||||
[ # Include the results of the hardware scan.
|
|
||||||
./hardware-configuration.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
# Use the systemd-boot EFI boot loader.
|
|
||||||
boot.loader.systemd-boot.enable = true;
|
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
|
||||||
|
|
||||||
# Use latest kernel.
|
|
||||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
|
||||||
boot.kernelModules = [ "amdgpu" ];
|
|
||||||
|
|
||||||
networking.hostName = "crow"; # Define your hostname.
|
|
||||||
|
|
||||||
# Configure network connections interactively with nmcli or nmtui.
|
|
||||||
networking.networkmanager.enable = true;
|
|
||||||
|
|
||||||
# Set your time zone.
|
|
||||||
time.timeZone = "America/New_York";
|
|
||||||
|
|
||||||
users.defaultUserShell = pkgs.zsh;
|
|
||||||
|
|
||||||
users.users.nest = {
|
|
||||||
isNormalUser = true;
|
|
||||||
extraGroups = [ "wheel" "network" ]; # Enable ‘sudo’ for the user.
|
|
||||||
|
|
||||||
packages = with pkgs; [
|
|
||||||
tree
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.niri.enable = true;
|
|
||||||
programs.zsh.enable = true;
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
neovim
|
|
||||||
wget
|
|
||||||
];
|
|
||||||
|
|
||||||
# List services that you want to enable:
|
|
||||||
|
|
||||||
# Enable the OpenSSH daemon.
|
|
||||||
services.openssh.enable = true;
|
|
||||||
|
|
||||||
# Enable sound.
|
|
||||||
services.pipewire = {
|
|
||||||
enable = true;
|
|
||||||
pulse.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable touchpad support (enabled default in most desktopManager).
|
|
||||||
services.libinput.enable = true;
|
|
||||||
|
|
||||||
services.getty.autologinUser = "nest";
|
|
||||||
|
|
||||||
services.displayManager = {
|
|
||||||
gdm.enable = true;
|
|
||||||
autoLogin = {
|
|
||||||
enable = true;
|
|
||||||
user = "nest";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Open ports in the firewall.
|
|
||||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
|
||||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
|
||||||
# Or disable the firewall altogether.
|
|
||||||
# networking.firewall.enable = false;
|
|
||||||
|
|
||||||
# This option defines the first version of NixOS you have installed on this particular machine,
|
|
||||||
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
|
|
||||||
#
|
|
||||||
# Most users should NEVER change this value after the initial install, for any reason,
|
|
||||||
# even if you've upgraded your system to a new NixOS release.
|
|
||||||
#
|
|
||||||
# This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
|
|
||||||
# so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how
|
|
||||||
# to actually do that.
|
|
||||||
#
|
|
||||||
# This value being lower than the current NixOS release does NOT mean your system is
|
|
||||||
# out of date, out of support, or vulnerable.
|
|
||||||
#
|
|
||||||
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
|
|
||||||
# and migrated your data accordingly.
|
|
||||||
#
|
|
||||||
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
|
|
||||||
system.stateVersion = "25.11"; # Did you read the comment?
|
|
||||||
}
|
|
||||||
|
|
||||||
81
flake.nix
81
flake.nix
|
|
@ -10,21 +10,72 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs@{ nixpkgs, home-manager, ... }: {
|
outputs = { self, nixpkgs, ... }@inputs:
|
||||||
nixosConfigurations.crow = nixpkgs.lib.nixosSystem {
|
let
|
||||||
system = "x86_64-linux";
|
inherit (self) outputs;
|
||||||
modules = [
|
|
||||||
./configuration.nix
|
|
||||||
|
|
||||||
home-manager.nixosModules.home-manager {
|
# Set the default user. Can be overitten on a system level
|
||||||
home-manager = {
|
vars.user = "nest";
|
||||||
useGlobalPkgs = true;
|
|
||||||
useUserPackages = true;
|
# List of system types our hosts use
|
||||||
users.nest = import ./home.nix;
|
systems = [ "x86_64-linux" ];
|
||||||
backupFileExtension = "backup";
|
|
||||||
};
|
# Generic NixOS config
|
||||||
}
|
mkNixOSConfig = {
|
||||||
];
|
path,
|
||||||
};
|
extraModules ? [],
|
||||||
|
}:
|
||||||
|
nixpkgs.lib.nixosSystem {
|
||||||
|
specialArgs = {
|
||||||
|
inherit inputs outputs vars;
|
||||||
|
};
|
||||||
|
|
||||||
|
modules = [
|
||||||
|
./nixos/common
|
||||||
|
path
|
||||||
|
]
|
||||||
|
++ extraModules;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Additional modules for physical hosts
|
||||||
|
mkPhysicalNixOSConfig = path:
|
||||||
|
mkNixOSConfig {
|
||||||
|
path = path;
|
||||||
|
extraModules = [ ./hosts/physical ];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Additional modules for servers
|
||||||
|
# mkServerNixOSConfig = path: serverType:
|
||||||
|
# mkNixOSConfig {
|
||||||
|
# path = path;
|
||||||
|
# extraModules = [
|
||||||
|
# ./hosts/server
|
||||||
|
# ./nixos/roles/server/${serverType}
|
||||||
|
# ./nixos/modules/backup
|
||||||
|
# ];
|
||||||
|
# };
|
||||||
|
in {
|
||||||
|
# Format our nix files using alejandra
|
||||||
|
formatter = nixpkgs.lib.genAttrs systems (system: nixpkgs.legacyPackages.${system}.alejandra);
|
||||||
|
|
||||||
|
# Collection of all of our configs
|
||||||
|
# =========== Desktops ===========
|
||||||
|
crow = mkPhysicalNixOSConfig ./hosts/physical/crow;
|
||||||
|
|
||||||
|
# nixosConfigurations.crow = nixpkgs.lib.nixosSystem {
|
||||||
|
# system = "x86_64-linux";
|
||||||
|
# modules = [
|
||||||
|
# ./configuration.nix
|
||||||
|
|
||||||
|
# home-manager.nixosModules.home-manager {
|
||||||
|
# home-manager = {
|
||||||
|
# useGlobalPkgs = true;
|
||||||
|
# useUserPackages = true;
|
||||||
|
# users.nest = import ./home.nix;
|
||||||
|
# backupFileExtension = "backup";
|
||||||
|
# };
|
||||||
|
# }
|
||||||
|
# ];
|
||||||
|
# };
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
25
home-manager/common/default.nix
Normal file
25
home-manager/common/default.nix
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
vars,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
home = {
|
||||||
|
username = "${vars.user}";
|
||||||
|
homeDirectory = "/home/${vars.user}";
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
lazygit
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.zsh = {
|
||||||
|
shellAliases = {
|
||||||
|
lg = "lazygit";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home.stateVersion = "26.05";
|
||||||
|
}
|
||||||
6
home-manager/roles/desktop/common/apps/default.nix
Normal file
6
home-manager/roles/desktop/common/apps/default.nix
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./librewolf.nix
|
||||||
|
./minecraft.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
80
home-manager/roles/desktop/common/apps/librewolf.nix
Normal file
80
home-manager/roles/desktop/common/apps/librewolf.nix
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
{ pkgs, vars, ... }:
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.librewolf = {
|
||||||
|
enable = true;
|
||||||
|
policies = {
|
||||||
|
OfferToSaveLogins = false;
|
||||||
|
PasswordManagerEnabled = false;
|
||||||
|
DisplayBookmarksToolbar = true;
|
||||||
|
NoDefaultBookmarks = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
profiles."${vars.user}" = {
|
||||||
|
search = {
|
||||||
|
force = true;
|
||||||
|
engines = {
|
||||||
|
"Nix Packages" = {
|
||||||
|
urls = [
|
||||||
|
{
|
||||||
|
template = "https://search.nixos.org/packages?channel=unstable";
|
||||||
|
params = [
|
||||||
|
{
|
||||||
|
name = "type";
|
||||||
|
value = "packages";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "query";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
|
definedAliases = ["@np"];
|
||||||
|
};
|
||||||
|
"Nix Options" = {
|
||||||
|
urls = [
|
||||||
|
{
|
||||||
|
template = "https://search.nixos.org/options?channel=unstable";
|
||||||
|
params = [
|
||||||
|
{
|
||||||
|
name = "sort";
|
||||||
|
value = "alpha_asc";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "query";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
|
definedAliases = ["@no"];
|
||||||
|
};
|
||||||
|
"NixOS Wiki" = {
|
||||||
|
urls = [
|
||||||
|
{
|
||||||
|
template = "https://wiki.nixos.org/w/index.php?search={searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
icon = "https://nixos.wiki/favicon.png";
|
||||||
|
updateInterval = 24 * 60 * 60 * 1000;
|
||||||
|
definedAliases = ["@nw"];
|
||||||
|
};
|
||||||
|
"Home Manager Options" = {
|
||||||
|
urls = [{template = "https://home-manager-options.extranix.com/?query={searchTerms}&release=master";}];
|
||||||
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
|
definedAliases = ["@hm"];
|
||||||
|
};
|
||||||
|
"wikipedia".metaData.alias = "@wiki";
|
||||||
|
"google".metaData.hidden = true;
|
||||||
|
"amazondotcom-us".metaData.hidden = true;
|
||||||
|
"bing".metaData.hidden = true;
|
||||||
|
"ebay".metaData.hidden = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
7
home-manager/roles/desktop/common/apps/minecraft.nix
Normal file
7
home-manager/roles/desktop/common/apps/minecraft.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
prismlauncher
|
||||||
|
];
|
||||||
|
}
|
||||||
10
home-manager/roles/desktop/common/default.nix
Normal file
10
home-manager/roles/desktop/common/default.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./apps
|
||||||
|
];
|
||||||
|
|
||||||
|
# Setup user profile pic
|
||||||
|
home.file.".face" = {
|
||||||
|
source = ./nest.webp;
|
||||||
|
};
|
||||||
|
}
|
||||||
BIN
home-manager/roles/desktop/common/nest.webp
Normal file
BIN
home-manager/roles/desktop/common/nest.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.4 KiB |
22
home-manager/roles/desktop/niri/default.nix
Normal file
22
home-manager/roles/desktop/niri/default.nix
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
../common/apps
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.niri.enable = true;
|
||||||
|
|
||||||
|
programs.zsh = {
|
||||||
|
profileExtra = ''
|
||||||
|
if [ -z "$WAYLAND_DISPLAY" ] && [ "$XDG_VTNR" = 1 ]; then
|
||||||
|
exec gdm
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
home.package = with pkgs; [
|
||||||
|
swaybg
|
||||||
|
mako
|
||||||
|
];
|
||||||
|
}
|
||||||
15
home-manager/roles/personal/default.nix
Normal file
15
home-manager/roles/personal/default.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
userName = "KnightArtorias";
|
||||||
|
userEmail = "booksandpi@gmail.com";
|
||||||
|
extraConfig = {
|
||||||
|
init.defaultBranch = "main";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
72
home.nix
72
home.nix
|
|
@ -1,72 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
# ============ Home-Manager =============
|
|
||||||
|
|
||||||
home.username = "nest";
|
|
||||||
home.homeDirectory = "/home/nest";
|
|
||||||
|
|
||||||
home.stateVersion = "26.05";
|
|
||||||
|
|
||||||
# =======================================
|
|
||||||
|
|
||||||
# ================ Programs =============
|
|
||||||
|
|
||||||
programs.git = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
user = {
|
|
||||||
name = "nest";
|
|
||||||
email = "booksandpi@gmail.com";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.zsh = {
|
|
||||||
enable = true;
|
|
||||||
enableCompletion = true;
|
|
||||||
autosuggestion.enable = true;
|
|
||||||
syntaxHighlighting.enable = true;
|
|
||||||
history.size = 10000;
|
|
||||||
|
|
||||||
shellAliases = {
|
|
||||||
ll = "ls -la";
|
|
||||||
update = "sudo nixos-rebuild --flake $HOME/.nix#crow";
|
|
||||||
};
|
|
||||||
|
|
||||||
profileExtra = ''
|
|
||||||
if [-z "$WAYLAND_DISPLAY" ] && [ "$XDG_VTNR" = 1 ]; then
|
|
||||||
exec gdm
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
|
|
||||||
oh-my-zsh = {
|
|
||||||
enable = true;
|
|
||||||
plugins = [ "git" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.alacritty.enable = true;
|
|
||||||
programs.rofi.enable = true;
|
|
||||||
programs.swaylock.enable = true;
|
|
||||||
programs.quickshell.enable = true;
|
|
||||||
programs.librewolf.enable = true;
|
|
||||||
|
|
||||||
# ======================================
|
|
||||||
|
|
||||||
# ============== Services ==============
|
|
||||||
|
|
||||||
services.swayidle.enable = true;
|
|
||||||
services.polkit-gnome.enable = true;
|
|
||||||
|
|
||||||
# ======================================
|
|
||||||
|
|
||||||
# ============ Packages ================
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
swaybg
|
|
||||||
mako
|
|
||||||
];
|
|
||||||
|
|
||||||
# ======================================
|
|
||||||
}
|
|
||||||
25
hosts/physical/crow/default.nix
Normal file
25
hosts/physical/crow/default.nix
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
{
|
||||||
|
vars,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./hardware-configuration.nix
|
||||||
|
./system-configuration.nix
|
||||||
|
../default.nix
|
||||||
|
|
||||||
|
../../../nixos/roles/physical/desktop/niri
|
||||||
|
];
|
||||||
|
|
||||||
|
home-manager = {
|
||||||
|
users.${vars.user}.imports = [
|
||||||
|
../../../home-manager/common
|
||||||
|
../../../home-manager/roles/personal
|
||||||
|
../../../home-manager/roles/desktop/niri
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.hostName = "crow";
|
||||||
|
}
|
||||||
15
hosts/physical/crow/system-configuration.nix
Normal file
15
hosts/physical/crow/system-configuration.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# Use the systemd-boot EFI boot loader.
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
boot.loader.timeout = 1;
|
||||||
|
|
||||||
|
# Use latest kernel
|
||||||
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||||
|
boot.kernelModules = [ "amdgpu" ];
|
||||||
|
|
||||||
|
system.stateVersion = "26.05";
|
||||||
|
}
|
||||||
|
|
||||||
56
hosts/physical/default.nix
Normal file
56
hosts/physical/default.nix
Normal file
|
|
@ -0,0 +1,56 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
vars,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
inputs.home-manager.nixosModules.home-manager
|
||||||
|
../../nixos/modules/home-manager.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
# Enable networking
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
neovim
|
||||||
|
wget
|
||||||
|
];
|
||||||
|
|
||||||
|
services.openssh.enable = true;
|
||||||
|
services.getty.autologinUser = "${vars.user}";
|
||||||
|
|
||||||
|
boot = {
|
||||||
|
# Fun boot spinny!
|
||||||
|
plymouth = {
|
||||||
|
enable = true;
|
||||||
|
theme = "circle_flow";
|
||||||
|
themePackages = with pkgs; [
|
||||||
|
(adi1090x-plymouth-themese.override {
|
||||||
|
selected_themes = [
|
||||||
|
"cirlce_flow"
|
||||||
|
"colorful"
|
||||||
|
"colorful_slices"
|
||||||
|
"double"
|
||||||
|
"polaroid"
|
||||||
|
];
|
||||||
|
})
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# "Silent" boot
|
||||||
|
console.LogLevel = 0;
|
||||||
|
initrd.verbose = false;
|
||||||
|
kernelParams = [
|
||||||
|
"quiet"
|
||||||
|
"splash"
|
||||||
|
"boot.shell_on_fail"
|
||||||
|
"loglevel=3"
|
||||||
|
"rd.systemd.show_status=false"
|
||||||
|
"rd.udev.log_level=3"
|
||||||
|
"udev.log_priority=3"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
23
nixos/common/default.nix
Normal file
23
nixos/common/default.nix
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
{
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
vars,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports= [
|
||||||
|
../../users/${vars.user}.nix
|
||||||
|
../modules/zsh.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||||
|
|
||||||
|
enviroment.systemPackages = with pkgs; [
|
||||||
|
tree
|
||||||
|
htop
|
||||||
|
dig
|
||||||
|
traceroute
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
22
nixos/modules/home-manager.nix
Normal file
22
nixos/modules/home-manager.nix
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
{
|
||||||
|
inputs,
|
||||||
|
vars,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
home-manager = {
|
||||||
|
backupFileExtension = "backup";
|
||||||
|
extraSpecialArgs = {
|
||||||
|
inherit inputs vars;
|
||||||
|
};
|
||||||
|
|
||||||
|
useGlobalPackages = true;
|
||||||
|
useUserPackages = true;
|
||||||
|
|
||||||
|
# Common home-manager imports
|
||||||
|
users.${vars.user}.imports = [
|
||||||
|
../../home-manager/common
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
40
nixos/modules/zsh.nix
Normal file
40
nixos/modules/zsh.nix
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
{
|
||||||
|
pgks,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
environment.systemPackage = with pkgs; [
|
||||||
|
zsh
|
||||||
|
oh-my-zsh
|
||||||
|
];
|
||||||
|
|
||||||
|
enviroment.variables = {
|
||||||
|
NIX_FLAKE_PATH = "/etc/nixos";
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.zsh = {
|
||||||
|
enable = true;
|
||||||
|
enableBashCompletion = true;
|
||||||
|
enableConpletion = true;
|
||||||
|
autosuggestions.enable = true;
|
||||||
|
history.append = true;
|
||||||
|
history.size = 10000;
|
||||||
|
|
||||||
|
ohMyZsh = {
|
||||||
|
enable = true;
|
||||||
|
theme = "bira";
|
||||||
|
plugins = [
|
||||||
|
sudo
|
||||||
|
git
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
shellAliases = {
|
||||||
|
ll = "ls -la";
|
||||||
|
update = "sudo nixos-rebuild switch --flake $NIX_FLAKE_PATH";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
users.defaultUserShell = pkgs.zsh;
|
||||||
|
}
|
||||||
11
nixos/roles/physical/desktop/niri/default.nix
Normal file
11
nixos/roles/physical/desktop/niri/default.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
{ vars, pkgs, ... }: {
|
||||||
|
security.polkit.enable = true;
|
||||||
|
|
||||||
|
services.displayManager = {
|
||||||
|
gdm.enable = true;
|
||||||
|
autoLogin = {
|
||||||
|
enable = true;
|
||||||
|
user = "${vars.user}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
14
users/nest.nix
Normal file
14
users/nest.nix
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
users.users.nest = {
|
||||||
|
description = "nest";
|
||||||
|
isNormalUser = true;
|
||||||
|
extraGroups = [ "wheel" "network" ];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
Loading…
Add table
Reference in a new issue