Compare commits
	
		
			8 Commits
		
	
	
		
			93052529b8
			...
			home-assis
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 7081c58bd1 | |||
| 0fbd897b60 | |||
| 76ff89d7f6 | |||
| 2544ef3d94 | |||
| a7d2db9c84 | |||
| db244dc7ea | |||
| 734338f51e | |||
| 90931e37ff | 
@@ -47,7 +47,7 @@
 | 
			
		||||
        {
 | 
			
		||||
          home-manager.useGlobalPkgs = true;
 | 
			
		||||
          home-manager.useUserPackages = true;
 | 
			
		||||
          home-manager.extraSpecialArgs = extraSpecialArgs;
 | 
			
		||||
          home-manager.extraSpecialArgs = extraSpecialArgs // { role = "devel"; };
 | 
			
		||||
          home-manager.users.${userName} = import ./home;
 | 
			
		||||
        }
 | 
			
		||||
      ];
 | 
			
		||||
@@ -70,7 +70,7 @@
 | 
			
		||||
        {
 | 
			
		||||
          home-manager.useGlobalPkgs = true;
 | 
			
		||||
          home-manager.useUserPackages = true;
 | 
			
		||||
          home-manager.extraSpecialArgs = extraSpecialArgs;
 | 
			
		||||
          home-manager.extraSpecialArgs = extraSpecialArgs // { role = "devel"; };
 | 
			
		||||
          home-manager.users.${userName}.imports = [
 | 
			
		||||
            ./home
 | 
			
		||||
          ];
 | 
			
		||||
@@ -94,7 +94,7 @@
 | 
			
		||||
        {
 | 
			
		||||
          home-manager.useGlobalPkgs = true;
 | 
			
		||||
          home-manager.useUserPackages = true;
 | 
			
		||||
          home-manager.extraSpecialArgs = extraSpecialArgs;
 | 
			
		||||
          home-manager.extraSpecialArgs = extraSpecialArgs // { role = "server"; };
 | 
			
		||||
          home-manager.users.${userName}.imports = [
 | 
			
		||||
            ./home
 | 
			
		||||
          ];
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,5 @@
 | 
			
		||||
{
 | 
			
		||||
  role,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
@@ -9,7 +10,7 @@
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  programs.chromium = {
 | 
			
		||||
    enable = pkgs.stdenv.isLinux;
 | 
			
		||||
    enable = pkgs.stdenv.isLinux && role == "devel";
 | 
			
		||||
    package = pkgs.ungoogled-chromium.override {
 | 
			
		||||
      enableWideVine = true;
 | 
			
		||||
      commandLineArgs = [
 | 
			
		||||
 
 | 
			
		||||
@@ -4,6 +4,7 @@
 | 
			
		||||
  userName,
 | 
			
		||||
  userEmail,
 | 
			
		||||
  ghostty,
 | 
			
		||||
  role,
 | 
			
		||||
  ...
 | 
			
		||||
}: let
 | 
			
		||||
  # Have a file sturcture that holds all the configuration files that can't be configured by Nix
 | 
			
		||||
@@ -13,7 +14,7 @@
 | 
			
		||||
  };
 | 
			
		||||
in {
 | 
			
		||||
  # Import sub modules
 | 
			
		||||
  imports = map (module: import module {inherit lib pkgs dirs userName userEmail ghostty;}) [
 | 
			
		||||
  imports = map (module: import module {inherit lib pkgs dirs userName userEmail ghostty role;}) [
 | 
			
		||||
    ./atuin.nix
 | 
			
		||||
    ./shell.nix
 | 
			
		||||
    ./packages
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,10 @@
 | 
			
		||||
{
 | 
			
		||||
  lib,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  role,
 | 
			
		||||
  ...
 | 
			
		||||
}: let
 | 
			
		||||
  isDevel = pkgs.stdenv.isLinux && role == "devel";
 | 
			
		||||
  dirs = {
 | 
			
		||||
    defaults = ../defaults;
 | 
			
		||||
  };
 | 
			
		||||
@@ -16,7 +18,7 @@
 | 
			
		||||
  };
 | 
			
		||||
in {
 | 
			
		||||
  wayland.windowManager.sway = {
 | 
			
		||||
    enable = pkgs.stdenv.isLinux;
 | 
			
		||||
    enable = isDevel;
 | 
			
		||||
    extraOptions = []; # Extra arguments to pass into sway. If sway goes haywire, we might need something in here
 | 
			
		||||
    xwayland = true;
 | 
			
		||||
    systemd.enable = true;
 | 
			
		||||
@@ -29,11 +31,11 @@ in {
 | 
			
		||||
  xdg.configFile."sway/config".source = lib.mkForce (dirs.defaults + /sway/config);
 | 
			
		||||
  xdg.configFile."waybar/config".source = lib.mkForce (dirs.defaults + /waybar/config);
 | 
			
		||||
  xdg.configFile."waybar/style.css".source = lib.mkForce (dirs.defaults + /waybar/style.css);
 | 
			
		||||
  programs.rofi.enable = pkgs.stdenv.isLinux;
 | 
			
		||||
  services.mako.enable = pkgs.stdenv.isLinux;
 | 
			
		||||
  programs.rofi.enable = isDevel;
 | 
			
		||||
  services.mako.enable = isDevel;
 | 
			
		||||
 | 
			
		||||
  programs.waybar = {
 | 
			
		||||
    enable = pkgs.stdenv.isLinux;
 | 
			
		||||
    enable = isDevel;
 | 
			
		||||
    systemd.enable = true;
 | 
			
		||||
 | 
			
		||||
    package = pkgs.waybar.overrideAttrs (old: {
 | 
			
		||||
 
 | 
			
		||||
@@ -87,7 +87,12 @@
 | 
			
		||||
 | 
			
		||||
  # Core networking module (see ../../networking/core.nix)
 | 
			
		||||
  network = {
 | 
			
		||||
    firewall.enable = true;
 | 
			
		||||
    firewall = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      tcpPorts = {
 | 
			
		||||
        allowedPorts = [8123];
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
    networkManager.enable = true;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
@@ -97,7 +102,37 @@
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  # Add username to groups "wheel" and "video" - more may be added here later
 | 
			
		||||
  users.users.${userName}.extraGroups = ["wheel" "podman" "network"];
 | 
			
		||||
  users.users.${userName} = { 
 | 
			
		||||
    extraGroups = ["wheel" "podman" "network"]; 
 | 
			
		||||
    openssh.authorizedKeys.keys = [
 | 
			
		||||
      "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFV9eSc9L+aJLoKoexq2f/jb5rpyZnhuGiyhS8YQAbaS wyatt@wyattjmiller.com"
 | 
			
		||||
    ];
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  users.users.root.openssh.authorizedKeys.keys = [
 | 
			
		||||
    "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFV9eSc9L+aJLoKoexq2f/jb5rpyZnhuGiyhS8YQAbaS wyatt@wyattjmiller.com"
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  # Add Home Assistant service
 | 
			
		||||
  services.home-assistant = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    extraComponents = [
 | 
			
		||||
      "esphome"
 | 
			
		||||
      "met"
 | 
			
		||||
      "radio_browser"
 | 
			
		||||
      "homeassistant_hardware"
 | 
			
		||||
      "zha"
 | 
			
		||||
      "group"
 | 
			
		||||
      "mikrotik"
 | 
			
		||||
    ];
 | 
			
		||||
    config = {
 | 
			
		||||
      # Includes dependencies for a basic setup
 | 
			
		||||
      # https://www.home-assistant.io/integrations/default_config/
 | 
			
		||||
      default_config = {};
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  security.sudo.wheelNeedsPassword = false;
 | 
			
		||||
 | 
			
		||||
  system.stateVersion = "24.11";
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user