add pluto host

This commit is contained in:
zackartz 2024-05-03 13:33:06 -04:00
parent cca7181901
commit 78ac00643c
No known key found for this signature in database
GPG key ID: 5B53E53A9A514DBA
9 changed files with 321 additions and 32 deletions

81
flake.lock generated
View file

@ -185,11 +185,11 @@
]
},
"locked": {
"lastModified": 1714606777,
"narHash": "sha256-bMkNmAXLj8iyTvxaaD/StcLSadbj1chPcJOjtuVnLmA=",
"lastModified": 1714641030,
"narHash": "sha256-yzcRNDoyVP7+SCNX0wmuDju1NUCt8Dz9+lyUXEI0dbI=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "4d34ce6412bc450b1d4208c953dc97c7fc764f1a",
"rev": "e5d10a24b66c3ea8f150e47dfdb0416ab7c3390e",
"type": "github"
},
"original": {
@ -378,11 +378,11 @@
]
},
"locked": {
"lastModified": 1714515075,
"narHash": "sha256-azMK7aWH0eUc3IqU4Fg5rwZdB9WZBvimOGG3piqvtsY=",
"lastModified": 1714679908,
"narHash": "sha256-KzcXzDvDJjX34en8f3Zimm396x6idbt+cu4tWDVS2FI=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "6d3b6dc9222c12b951169becdf4b0592ee9576ef",
"rev": "9036fe9ef8e15a819fa76f47a8b1f287903fb848",
"type": "github"
},
"original": {
@ -391,6 +391,27 @@
"type": "github"
}
},
"home-manager_stable": {
"inputs": {
"nixpkgs": [
"nixpkgs_stable"
]
},
"locked": {
"lastModified": 1714043624,
"narHash": "sha256-Xn2r0Jv95TswvPlvamCC46wwNo8ALjRCMBJbGykdhcM=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "86853e31dc1b62c6eeed11c667e8cdd0285d4411",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-23.11",
"repo": "home-manager",
"type": "github"
}
},
"hyprcontrib": {
"inputs": {
"nixpkgs": [
@ -454,11 +475,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1714663293,
"narHash": "sha256-1XZi9ZRGn2Wob2WHYUjcshA/jeIIuPvbGHvAsZFNysw=",
"lastModified": 1714743728,
"narHash": "sha256-VCFgqgQ2apEawEOHogI5Dhs6qqcyORwfU1sfizigCpA=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "a3ca016d42283ce1d2d5ffca40b93123b4290f4b",
"rev": "d5bf15387ad3b4ee36cae7a3cd9f4a9c28790f2e",
"type": "github"
},
"original": {
@ -630,11 +651,11 @@
},
"locked": {
"dir": "contrib",
"lastModified": 1714603036,
"narHash": "sha256-DdSurfEudH2ERSMsR19jHZmyHcqM1bPKyLUFfbT3RTs=",
"lastModified": 1714683427,
"narHash": "sha256-SMfFU+VsRTZLVIkGpf67oOTZ29gWmFvxF0nGO6CRx/4=",
"owner": "neovim",
"repo": "neovim",
"rev": "9e2f378b6d255cd4b02a39b1a1dc5aea2df1a84c",
"rev": "01e4a70d668d54a7cefa3ff53ec97e39df516265",
"type": "github"
},
"original": {
@ -655,11 +676,11 @@
]
},
"locked": {
"lastModified": 1714618080,
"narHash": "sha256-6IKJRxi/Rl7Huz75SSCIWHm0d6ADToLL6MsvjWunTZg=",
"lastModified": 1714694802,
"narHash": "sha256-b0+Zrd2PDgRIEeeXbivzw3kcSaXCZItOvgOgdfRsyOo=",
"owner": "nix-community",
"repo": "neovim-nightly-overlay",
"rev": "e45cf8ce3f84056b006935b3f64c35ea6be76300",
"rev": "9b2c33c7fa0287db93868d955e7b3d0da3837a57",
"type": "github"
},
"original": {
@ -772,11 +793,11 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1714253743,
"narHash": "sha256-mdTQw2XlariysyScCv2tTE45QSU9v/ezLcHJ22f0Nxc=",
"lastModified": 1714635257,
"narHash": "sha256-4cPymbty65RvF1DWQfc+Bc8B233A1BWxJnNULJKQ1EY=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "58a1abdbae3217ca6b702f03d3b35125d88a2994",
"rev": "63c3a29ca82437c87573e4c6919b09a24ea61b0f",
"type": "github"
},
"original": {
@ -802,6 +823,22 @@
"type": "github"
}
},
"nixpkgs_stable": {
"locked": {
"lastModified": 1714531828,
"narHash": "sha256-ILsf3bdY/hNNI/Hu5bSt2/KbmHaAVhBbNUOdGztTHEg=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "0638fe2715d998fa81d173aad264eb671ce2ebc1",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-23.11",
"repo": "nixpkgs",
"type": "github"
}
},
"pre-commit-hooks-nix": {
"inputs": {
"flake-compat": [
@ -862,6 +899,7 @@
"anyrun": "anyrun",
"catppuccin": "catppuccin",
"home-manager": "home-manager",
"home-manager_stable": "home-manager_stable",
"hyprcontrib": "hyprcontrib",
"hyprland": "hyprland",
"hyprland-plugins": "hyprland-plugins",
@ -870,6 +908,7 @@
"neovim-nightly-overlay": "neovim-nightly-overlay",
"nixos-generators": "nixos-generators",
"nixpkgs": "nixpkgs_3",
"nixpkgs_stable": "nixpkgs_stable",
"rio-term": "rio-term",
"spicetify-nix": "spicetify-nix",
"systems": "systems_8",
@ -1089,11 +1128,11 @@
]
},
"locked": {
"lastModified": 1714631500,
"narHash": "sha256-yrUm8IX8mZJdpJHrd/Pd/pJYycjppe8YmqtT0yAXSkU=",
"lastModified": 1714718861,
"narHash": "sha256-mCQdrn0Y3oOVZP/CileWAhuBX6aARBNrfxyqJBB4NxA=",
"owner": "Alexays",
"repo": "Waybar",
"rev": "79ae530bd29cb561d6f48773e894dd62fe353b7f",
"rev": "231d6972d7a023e9358ab7deda509baac49006cb",
"type": "github"
},
"original": {

View file

@ -12,12 +12,18 @@
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nixpkgs_stable.url = "github:nixos/nixpkgs/nixos-23.11";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager_stable = {
url = "github:nix-community/home-manager/release-23.11";
inputs.nixpkgs.follows = "nixpkgs_stable";
};
anyrun.url = "github:Kirottu/anyrun";
anyrun.inputs.nixpkgs.follows = "nixpkgs";
ags.url = "github:Aylur/ags";
@ -81,6 +87,7 @@
outputs = {
self,
nixpkgs,
nixpkgs_stable,
systems,
...
} @ inputs: let
@ -90,6 +97,14 @@
f nixpkgs.legacyPackages.${system}
);
in {
nixosConfigurations.pluto = nixpkgs_stable.lib.nixosSystem {
specialArgs = {inherit inputs;};
modules = [
./hosts/pluto/configuration.nix
inputs.home-manager_stable.nixosModules.default
];
};
nixosConfigurations.earth = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs;};
modules = [

View file

@ -11,7 +11,6 @@
# Include the results of the hardware scan.
./hardware-configuration.nix
./nvidia.nix
../../env/wayland
({
options,
lib,

View file

@ -0,0 +1,102 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{
config,
pkgs,
inputs,
...
}: {
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix
];
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking.hostName = "pluto"; # Define your hostname.
# Enable networking
networking.networkmanager.enable = true;
# Set your time zone.
time.timeZone = "America/New_York";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
# Configure keymap in X11
services.xserver = {
layout = "us";
xkbVariant = "";
};
# Define a user account. Don't forget to set a password with passwd.
users.users.zack = {
isNormalUser = true;
description = "zack";
extraGroups = ["networkmanager" "wheel"];
packages = with pkgs; [];
};
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
# wget
];
home-manager = {
extraSpecialArgs = {inherit inputs;};
users = {
"zack" = {
imports = [../../modules/home-manager/pluto.nix];
_module.args.theme = import ../../core/theme.nix;
home.username = "zack";
home.homeDirectory = "/home/zack";
};
};
};
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
# programs.gnupg.agent = {
# enable = true;
# enableSSHSupport = true;
# };
# List services that you want to enable:
# Enable the OpenSSH daemon.
services.openssh.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "23.11"; # Did you read the comment?
}

View file

@ -0,0 +1,40 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod" "sr_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/2367b8e2-fe40-43e4-bc6a-fa19f78bfca4";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/4DC0-0CF8";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
};
swapDevices = [ ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.enp35s0.useDHCP = lib.mkDefault true;
# networking.interfaces.enp36s0.useDHCP = lib.mkDefault true;
# networking.interfaces.enp3s0f0u14u3c2.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -0,0 +1,92 @@
{
config,
pkgs,
inputs,
lib,
...
}: {
imports = [
./vim/default.nix
# ../rice/sway
# ../rice/waybar
# ../rice/dunst.nix
../shell
# inputs.catppuccin.homeManagerModules.catppuccin
];
nixpkgs = {
config = {
allowUnfree = true;
allowUnfreePredicate = _: true;
};
overlays = [
inputs.neovim-nightly-overlay.overlay
];
};
# catppuccin.flavour = "mocha";
# This value determines the Home Manager release that your configuration is
# compatible with. This helps avoid breakage when a new Home Manager release
# introduces backwards incompatible changes.
#
# You should not change this value, even if you update Home Manager. If you do
# want to update the value, then make sure to first check the Home Manager
# release notes.
home.stateVersion = "23.11"; # Please read the comment before changing it.
home.packages = [
pkgs.dconf
pkgs.nix-output-monitor
inputs.nixpkgs.legacyPackages.${pkgs.system}.nh
pkgs.killall
(pkgs.writeShellScriptBin "rebuild" ''
#!${pkgs.bash}/bin/bash
set -e
pushd ~/nixos/
alejandra . &>/dev/null
git add .
echo "[REBUILD]: rebuilding nixos"
nh os switch
gen=$(nixos-rebuild list-generations | grep current)
git commit -am "$gen"
git push origin main
popd
'')
];
home.sessionVariables = {
EDITOR = "nvim";
};
xdg.enable = true;
programs.zoxide = {
enable = true;
enableZshIntegration = true;
options = ["--cmd cd"];
};
programs.btop = {
enable = true;
# catppuccin.enable = true;
};
programs.lazygit = {
enable = true;
# catppuccin.enable = true;
};
programs.fzf = {
enable = true;
# catppuccin.enable = true;
};
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
}

View file

@ -1,10 +1,21 @@
{
inputs,
pkgs,
lib,
...
}: {
imports = [./default.nix ./applications.nix];
services = {
udiskie.enable = true;
gpg-agent = {
enable = true;
pinentryPackage = lib.mkForce pkgs.pinentry-gnome3;
enableSshSupport = true;
enableZshIntegration = true;
};
};
systemd.user.services.kb-gui = {
Unit = {
Description = "KB Time/Date thing";

View file

@ -15,7 +15,7 @@ in {
ZSH_AUTOSUGGEST_USE_ASYNC = "true";
SSH_AUTH_SOCK = "/run/user/1000/keyring/ssh";
};
autosuggestion.enable = true;
enableAutosuggestions = true;
history = {
save = 2137;
size = 2137;

View file

@ -3,15 +3,6 @@
lib,
...
}: {
services = {
udiskie.enable = true;
gpg-agent = {
enable = true;
pinentryPackage = lib.mkForce pkgs.pinentry-gnome3;
enableSshSupport = true;
enableZshIntegration = true;
};
};
programs = {
gpg.enable = true;
man.enable = true;