mirror of
https://github.com/ivabus/nixos
synced 2024-11-22 00:15:06 +03:00
Merge branch 'main' of github.com:ivabus/nix
This commit is contained in:
commit
07c32ad701
13 changed files with 115 additions and 32 deletions
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
asahi*
|
||||
flake.lock
|
35
README.md
35
README.md
|
@ -1,8 +1,33 @@
|
|||
# NixOS Configuration files.
|
||||
|
||||
## TODO
|
||||
## Deploying
|
||||
|
||||
- do something with dotfiles installation from [ivabus/dotfiles](https://github.com/ivabus/dotfiles)
|
||||
- install nixos on more machines
|
||||
- write proper readme
|
||||
- fix gtk theming issues
|
||||
Setup disks, mount root to `/mnt` and `/boot` to `/mnt/boot` and run something like this
|
||||
|
||||
```shell
|
||||
git clone https://github.com/ivabus/nixos /mnt/etc/nixos
|
||||
nixos-generate-config --show-hardware-config --root /mnt > /mnt/etc/nixos/machines/host/hardware.nix
|
||||
nixos-install --flake path:.#host
|
||||
```
|
||||
|
||||
## Rebuilding
|
||||
|
||||
```shell
|
||||
nixos-rebuild switch --flake path:/etc/nixos
|
||||
```
|
||||
|
||||
Apple Silicon hosts require additional `--impure` flag for firmware installation. (Firmware should be placed in /etc/nixos/asahi/firmware (ignored by git)).
|
||||
|
||||
### Hosts configured
|
||||
|
||||
- stella (Random Ryzen 3 3250U laptop)
|
||||
- vetus (iMac 27" 2017)
|
||||
- celerrime (MacBook Air M2)
|
||||
|
||||
## Dotfiles (from `ivabus/dotfiles`)
|
||||
|
||||
I'm installing my dotfiles using (with prepared script)
|
||||
|
||||
```shell
|
||||
curl https://iva.bz/nix | sh
|
||||
```
|
||||
|
|
|
@ -7,7 +7,10 @@
|
|||
];
|
||||
|
||||
boot.plymouth.enable = true;
|
||||
|
||||
|
||||
hardware.bluetooth.enable = true;
|
||||
services.blueman.enable = true;
|
||||
|
||||
services.tlp.enable = true;
|
||||
services.upower.enable = true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,6 +10,22 @@
|
|||
|
||||
networking.nameservers = [ "1.1.1.1" "1.0.0.1" "8.8.8.8" ];
|
||||
|
||||
networking.enableIPv6 = true;
|
||||
|
||||
services.resolved.enable = true;
|
||||
services.avahi = {
|
||||
enable = true;
|
||||
nssmdns = true;
|
||||
publish = {
|
||||
enable = true;
|
||||
addresses = true;
|
||||
domain = true;
|
||||
hinfo = true;
|
||||
userServices = true;
|
||||
workstation = true;
|
||||
};
|
||||
};
|
||||
|
||||
services.timesyncd.enable = true;
|
||||
networking.timeServers = [ "ntp1.vniiftri.ru" "0.ru.pool.ntp.org" "0.pool.ntp.org" ];
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@ let
|
|||
in {
|
||||
users.users.ivabus = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "wheel" ];
|
||||
extraGroups = [ "wheel" "input" ];
|
||||
uid = 1000;
|
||||
packages = with pkgs; [
|
||||
tree
|
||||
|
@ -21,6 +21,10 @@ in {
|
|||
|
||||
# Stella
|
||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDXWPxd1uVVxEARVezy0s0LZ9fC/Mif6s218oNWDyJNqZMnAiaMwwP/mGHqCy1OXFCb8/5Kv3AM+z6sxY4mIvyXhx3lPW841HoOlJxR+JQ50qgxon/oCXjKFVMZjFptRtexgQLhubhjyINagj7T/K6UjsfC9sIG5DUJdem0O8ZD/8EqvIrkeNGP52klJM3sR4vhXMNwOIPkukNOMq+OLXgAaCXRImc53N+Whi/tCaxxr/Nen5CVGo9raAekRKaiBLKvgboXYnxzNFxiecUe7mqPbyE2bcnJ+rDC7UlwrNYGyIQ/8POjQwbanFxT4UJhS5ib6/hSpia0eYaSiutBqU3fQcIXrmTQWOrGPdrUsLHw5xGMfwnPmoDFMYHdcchU0v6QijbrHrsqVV/bikWoQF4JT7PCwOejfVowOioPghvW2u34gTyMKPkueaMk0w8Jq45V0meneyN5SbobqZX3XFze4Uz3BN8nuiZB6pFRPv0eKLqEqX8+nST9uQDBkqKTvwE= ivabus@stella"
|
||||
|
||||
# Celerrime
|
||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC/x2Xkj/w8Q6Ri+iP6b3dzY4KZ1q1RMqZmlFiiki/BuK+1Z+NMY6e6zgTJs1hSsd42XaTotHs75BcO13ou4Sa6p5Gmn+lC1tUWSEUhBoJimFmGp7E9wZjtzHIZyVRj7WMBUmbn4tgsnlGTS1rc2ODwBC7YLpqVzmgkLE3NyFXgSYhCRddvj16netrF6pQp+I/iTCblnhn8LOsnZMSU0aT92ybcLp6glwFh9DQNLyQ58V0fa2xzRN1iehu0TvX/M1aO91rseME+Ygz5m/JFc+G8onuUaDK/yezqkI9i6qxBHqu7+mBwUW5EIZLCwYd4JYDTGKrgVdO98acVcAjLv8rfKV8/SuODJ1fQafaz6C+O+3W9d5/L/HmCWunYKqDDNp14e8w0IHM2XC4mMYNABHisWkW6fMQ6mZxv2FuiYSITKdIUfFVbpdPOG7GF6jyDb/+LCR4vidNqXAU3ESGVOoyfDOvwm2lS5H7TVvBqEZUSjvIK8rqN5WRAdZ1iolADDoU= ivabus@celerrime"
|
||||
|
||||
];
|
||||
hashedPassword = secrets.hashed-password;
|
||||
};
|
||||
|
@ -75,4 +79,4 @@ in {
|
|||
};
|
||||
home.stateVersion = "23.05";
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
./common/remote-access.nix
|
||||
./roles/graphical.nix
|
||||
./roles/latex.nix
|
||||
#./roles/gaming.nix
|
||||
./roles/gaming.nix
|
||||
./roles/devel.nix
|
||||
./roles/yggdrasil-client.nix
|
||||
./machines/stella/configuration.nix
|
||||
|
@ -68,9 +68,9 @@
|
|||
./common/locale.nix
|
||||
./common/remote-access.nix
|
||||
./roles/graphical.nix
|
||||
#./roles/latex.nix
|
||||
./roles/latex.nix
|
||||
#./roles/gaming.nix
|
||||
#./roles/devel.nix
|
||||
./roles/devel.nix
|
||||
./roles/yggdrasil-client.nix
|
||||
./machines/celerrime/configuration.nix
|
||||
./machines/celerrime/hardware.nix
|
||||
|
@ -92,4 +92,4 @@
|
|||
};
|
||||
*/
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,14 +1,16 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
# Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
# Include the necessary packages and configuration for Apple Silicon support.
|
||||
<apple-silicon-support/apple-silicon-support>
|
||||
];
|
||||
imports = [ ];
|
||||
networking.hostName = "celerrime";
|
||||
|
||||
# Use the systemd-boot EFI boot loader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = false;
|
||||
}
|
||||
boot.kernelParams = [ "apple_dcp.show_notch=1" ];
|
||||
|
||||
hardware.asahi.peripheralFirmwareDirectory = ../../asahi/firmware;
|
||||
hardware.asahi.addEdgeKernelConfig = true;
|
||||
hardware.asahi.useExperimentalGPUDriver = true;
|
||||
|
||||
system.stateVersion = "23.05";
|
||||
}
|
||||
|
|
32
machines/celerrime/hardware.nix
Normal file
32
machines/celerrime/hardware.nix
Normal file
|
@ -0,0 +1,32 @@
|
|||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "usb_storage" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/c313a438-700c-4d9c-9413-354ebfb010eb";
|
||||
fsType = "btrfs";
|
||||
};
|
||||
|
||||
boot.initrd.luks.devices."nixos-root".device = "/dev/disk/by-uuid/871dcf57-eee1-4dde-846d-e856c92f70c8";
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/6CCA-1404";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
swapDevices =
|
||||
[ { device = "/dev/disk/by-uuid/272341f1-b083-497e-b129-aef8732b5b50"; }
|
||||
];
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux";
|
||||
powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand";
|
||||
}
|
|
@ -10,6 +10,11 @@
|
|||
services.xserver.videoDrivers=["amdgpu"];
|
||||
boot.initrd.kernelModules=["amdgpu"];
|
||||
|
||||
powerManagement = {
|
||||
enable = true;
|
||||
cpuFreqGovernor = "performance";
|
||||
};
|
||||
|
||||
system.stateVersion = "23.05";
|
||||
}
|
||||
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
boot.kernelModules = [ "kvm-amd" "nct6775" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
|
||||
environment.etc = {
|
||||
"sysconfig/lm_sensors".text = ''
|
||||
HWMON_MODULES="lm75"
|
||||
|
@ -34,10 +33,4 @@
|
|||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
services.tlp.settings = {
|
||||
START_CHARGE_THRESH_BAT0 = 40;
|
||||
STOP_CHARGE_THRESH_BAT0 = 80;
|
||||
};
|
||||
powerManagement.enable = true;
|
||||
powerManagement.cpuFreqGovernor = "performance";
|
||||
}
|
||||
|
|
|
@ -7,6 +7,8 @@
|
|||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
networking.hostName = "vetus";
|
||||
|
||||
|
||||
system.stateVersion = "23.05";
|
||||
}
|
||||
|
||||
|
|
|
@ -28,4 +28,4 @@
|
|||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
{ config, pkgs, ... }:
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
environment.systemPackages = with pkgs; [
|
||||
jetbrains.clion
|
||||
rustc
|
||||
cargo
|
||||
rustup
|
||||
|
|
Loading…
Reference in a new issue