From 420d4f173c16575352abf2f8f17cc554f5609d19 Mon Sep 17 00:00:00 2001 From: kenji Date: Mon, 22 Dec 2025 09:32:38 -0600 Subject: [PATCH] revamped --- apps/home/neovim/neovim.nix | 9 ++++++++ config.nix | 27 ++++++++++++++++++++++ flake.nix | 42 ++++++++++++++++++++++++++++++++++ home/hakase.nix | 5 ++++ hosts/hakase/configuration.nix | 9 ++++++++ modules/home/terminal.nix | 5 ++++ system/hardware.nix | 16 +++++++++++++ system/home-manager.nix | 16 +++++++++++++ system/services.nix | 20 ++++++++++++++++ system/user.nix | 15 ++++++++++++ system/version.nix | 4 ++++ 11 files changed, 168 insertions(+) create mode 100644 apps/home/neovim/neovim.nix create mode 100644 config.nix create mode 100644 flake.nix create mode 100644 home/hakase.nix create mode 100644 hosts/hakase/configuration.nix create mode 100644 modules/home/terminal.nix create mode 100644 system/hardware.nix create mode 100644 system/home-manager.nix create mode 100644 system/services.nix create mode 100644 system/user.nix create mode 100644 system/version.nix diff --git a/apps/home/neovim/neovim.nix b/apps/home/neovim/neovim.nix new file mode 100644 index 0000000..3e960d2 --- /dev/null +++ b/apps/home/neovim/neovim.nix @@ -0,0 +1,9 @@ +{ + inputs, + system, + ... +}: { + home.packages = [ + inputs.nixovim.packages.${system}.full + ]; +} diff --git a/config.nix b/config.nix new file mode 100644 index 0000000..a8ad11c --- /dev/null +++ b/config.nix @@ -0,0 +1,27 @@ +{ + myConfig = { + nixos = { + username = "kenji"; + hostname = "hakase"; + timezone = "America/Chicago"; + shell = "fish"; + }; + git = { + username = "kenji"; + email = "kenji@hakase"; + defaultBranch = "master"; + }; + ssh = { + extraConfig = '' + Host macair + User biscuit + HostName 192.168.68.81 + + Host gitea.sakamoto.dev + User kenji + ProxyCommand cloudflared access ssh --hostname %h + HostName gitea.sakamoto.dev + ''; + }; + }; +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..a644859 --- /dev/null +++ b/flake.nix @@ -0,0 +1,42 @@ +{ + description = "Hakase Configuration"; + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + + home-manager = { + url = "github:nix-community/home-manager"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + nixovim = { + url = "git+https://git.sakamoto.dev/kenji/nixovim.git"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; + + outputs = { + self, + nixpkgs, + home-manager, + nixovim, + ... + } @ inputs: let + config = import ./config.nix; + system = "x86_64-linux"; + args = + { + inherit inputs system; + } + // config; + in { + nixosConfigurations = { + hakase = nixpkgs.lib.nixosSystem { + specialArgs = args; + modules = [ + home-manager.nixosModules.home-manager + ./hosts/hakase/configuration.nix + ]; + }; + }; + }; +} diff --git a/home/hakase.nix b/home/hakase.nix new file mode 100644 index 0000000..bd56dc6 --- /dev/null +++ b/home/hakase.nix @@ -0,0 +1,5 @@ +{pkgs, ...}: { + imports = [ + ../modules/home/terminal.nix + ]; +} diff --git a/hosts/hakase/configuration.nix b/hosts/hakase/configuration.nix new file mode 100644 index 0000000..971e3a4 --- /dev/null +++ b/hosts/hakase/configuration.nix @@ -0,0 +1,9 @@ +{pkgs, ...}: { + imports = [ + ../../system/version.nix + ../../system/user.nix + ../../system/home-manager.nix + ../../system/hardware.nix + ../../system/services.nix + ]; +} diff --git a/modules/home/terminal.nix b/modules/home/terminal.nix new file mode 100644 index 0000000..629f8e5 --- /dev/null +++ b/modules/home/terminal.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ../../apps/home/neovim/neovim.nix + ]; +} diff --git a/system/hardware.nix b/system/hardware.nix new file mode 100644 index 0000000..563a14e --- /dev/null +++ b/system/hardware.nix @@ -0,0 +1,16 @@ +{pkgs, ...}: { + hardware = { + bluetooth = { + enable = true; + powerOnBoot = true; + }; + networking = { + networkmanager.enable = true; + firewall = { + enable = true; + allowedTCPPorts = [22 80]; + allowedUDPPorts = [53]; + }; + }; + }; +} diff --git a/system/home-manager.nix b/system/home-manager.nix new file mode 100644 index 0000000..3506638 --- /dev/null +++ b/system/home-manager.nix @@ -0,0 +1,16 @@ +{ + specialArgs, + myConfig, + ... +}: { + home-manager = { + backupFileExtension = "backup"; + useGlobalPkgs = true; + useUserPackages = true; + extraSpecialArgs = specialArgs; + users.${myConfig.nixos.username} = import ../home/hakase.nix; + }; + + imports = [ + ]; +} diff --git a/system/services.nix b/system/services.nix new file mode 100644 index 0000000..bf7980b --- /dev/null +++ b/system/services.nix @@ -0,0 +1,20 @@ +{pkgs, ...}: { + services = { + openssh.enable = true; + blueman.enable = true; + # Complements printer support + printing.enable = true; + avahi = { + enable = true; + nssmdns4 = true; + openFirewall = true; + }; + pipewire = { + enable = true; + alsa = { + enable = true; + support32bit = true; + }; + }; + }; +} diff --git a/system/user.nix b/system/user.nix new file mode 100644 index 0000000..7c3ea2b --- /dev/null +++ b/system/user.nix @@ -0,0 +1,15 @@ +{ + pkgs, + myConfig, + ... +}: { + users = { + users = { + ${myConfig.nixos.username} = { + isNormalUser = true; + extraGroups = ["wheel" "networkmanager" "input" "video"]; + useDefaultShell = true; + }; + }; + }; +} diff --git a/system/version.nix b/system/version.nix new file mode 100644 index 0000000..a967d1d --- /dev/null +++ b/system/version.nix @@ -0,0 +1,4 @@ +{pkgs, ...}: { + system.stateVersion = "25.05"; + nixpkgs.config.allowUnfree = true; +}