mirror of
https://github.com/ivabus/nixos
synced 2024-11-25 01:45:06 +03:00
Add stella machine
This commit is contained in:
parent
4dcd54f79c
commit
0928c2aa8c
9 changed files with 202 additions and 0 deletions
7
README.md
Normal file
7
README.md
Normal file
|
@ -0,0 +1,7 @@
|
|||
# NixOS Configuration files.
|
||||
|
||||
## TODO
|
||||
|
||||
- do something with dotfiles installation from [ivabus/dotfiles](https://github.com/ivabus/dotfiles)
|
||||
- install nixos on more machines
|
||||
- write proper readme
|
29
common/base.nix
Normal file
29
common/base.nix
Normal file
|
@ -0,0 +1,29 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
|
||||
nix = {
|
||||
package = pkgs.nixUnstable;
|
||||
extraOptions = ''
|
||||
experimental-features = nix-command flakes
|
||||
'';
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
neovim
|
||||
wget
|
||||
git
|
||||
curl
|
||||
];
|
||||
|
||||
networking.networkmanager.enable = true;
|
||||
networking.nameservers = [ "1.1.1.1" "1.0.0.1" "8.8.8.8" ];
|
||||
|
||||
i18n.defaultLocale = "ru_RU.UTF-8";
|
||||
console = {
|
||||
font = "${pkgs.terminus_font}/share/consolefonts/ter-u16b.psf.gz";
|
||||
keyMap = "us";
|
||||
packages = with pkgs; [ terminus_font ];
|
||||
};
|
||||
|
||||
}
|
18
common/graphical.nix
Normal file
18
common/graphical.nix
Normal file
|
@ -0,0 +1,18 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
firefox
|
||||
alacritty
|
||||
];
|
||||
|
||||
services.xserver.enable = true;
|
||||
services.xserver.displayManager.sddm.enable = true;
|
||||
services.xserver.desktopManager.plasma5.enable = true;
|
||||
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
}
|
5
common/laptop.nix
Normal file
5
common/laptop.nix
Normal file
|
@ -0,0 +1,5 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
networking.wireless.iwd.enable = true;
|
||||
}
|
28
common/user.nix
Normal file
28
common/user.nix
Normal file
|
@ -0,0 +1,28 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
users.users.ivabus = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "wheel" ];
|
||||
packages = with pkgs; [
|
||||
tree
|
||||
cargo
|
||||
rustc
|
||||
neofetch
|
||||
];
|
||||
shell = pkgs.zsh;
|
||||
};
|
||||
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
programs.gnupg.agent.enable = true;
|
||||
programs.ssh.startAgent = true;
|
||||
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userName = "my_git_username";
|
||||
userEmail = "my_git_username@gmail.com";
|
||||
};
|
||||
}
|
48
flake.nix
Normal file
48
flake.nix
Normal file
|
@ -0,0 +1,48 @@
|
|||
{
|
||||
|
||||
description = "ivabus's NixOS Flake";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
outputs = { self, nixpkgs, ... }@inputs: {
|
||||
|
||||
nixosConfigurations."stella" = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
./common/base.nix
|
||||
./common/laptop.nix
|
||||
./common/user.nix
|
||||
./common/graphical.nix
|
||||
./machines/stella/configuration.nix
|
||||
./machines/stella/hardware.nix
|
||||
];
|
||||
};
|
||||
|
||||
/* These machines will be configured later. */
|
||||
/*
|
||||
nixosConfigurations."celerrime" = nixpkgs.lib.nixosSystem {
|
||||
system = "aarch64-linux";
|
||||
modules = [
|
||||
./machines/celerrime/configuration.nix
|
||||
./user.nix
|
||||
./graphical.nix
|
||||
];
|
||||
};
|
||||
|
||||
nixosConfigurations."vetus" = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
./machines/vetus/configuration.nix
|
||||
./
|
||||
];
|
||||
};
|
||||
*/
|
||||
};
|
||||
}
|
1
machines/stella/about.md
Normal file
1
machines/stella/about.md
Normal file
|
@ -0,0 +1 @@
|
|||
Random Ryzen 3 3250U laptop
|
36
machines/stella/configuration.nix
Normal file
36
machines/stella/configuration.nix
Normal file
|
@ -0,0 +1,36 @@
|
|||
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
nix = {
|
||||
package = pkgs.nixUnstable;
|
||||
extraOptions = ''
|
||||
experimental-features = nix-command flakes
|
||||
'';
|
||||
};
|
||||
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
networking.hostName = "stella";
|
||||
time.timeZone = "Europe/Moscow";
|
||||
|
||||
services.xserver.videoDrivers=["amdgpu"];
|
||||
boot.initrd.kernelModules=["amdgpu"];
|
||||
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
settings.PasswordAuthentication = false;
|
||||
};
|
||||
|
||||
services.dbus.enable = true;
|
||||
fonts.fonts = with pkgs; [
|
||||
noto-fonts
|
||||
noto-fonts-cjk
|
||||
noto-fonts-emoji
|
||||
jetbrains-mono
|
||||
];
|
||||
|
||||
system.stateVersion = "23.05";
|
||||
}
|
||||
|
30
machines/stella/hardware.nix
Normal file
30
machines/stella/hardware.nix
Normal file
|
@ -0,0 +1,30 @@
|
|||
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usb_storage" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/e9d47776-8f25-490b-9ea3-ee80ab9d6110";
|
||||
fsType = "btrfs";
|
||||
};
|
||||
|
||||
boot.initrd.luks.devices."cryptroot".device = "/dev/disk/by-uuid/c2e3757b-b29c-4797-9535-084eb71351e9";
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/4F73-6FFF";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
Loading…
Reference in a new issue