Compare commits

..

6 Commits

11 changed files with 127 additions and 403 deletions

View File

@ -21,39 +21,6 @@
"type": "github"
}
},
"aquamarine": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1725199881,
"narHash": "sha256-jsmipf/u1GFZE5tBUkr56CHMN6VpUWCAjfLIhvQijU0=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "f8a687dd29ff019657498f1bd14da2fbbf0e604b",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "aquamarine",
"type": "github"
}
},
"darwin": {
"inputs": {
"nixpkgs": [
@ -117,186 +84,6 @@
"type": "github"
}
},
"hyprcursor": {
"inputs": {
"hyprlang": [
"hyprland",
"hyprlang"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1722623071,
"narHash": "sha256-sLADpVgebpCBFXkA1FlCXtvEPu1tdEsTfqK1hfeHySE=",
"owner": "hyprwm",
"repo": "hyprcursor",
"rev": "912d56025f03d41b1ad29510c423757b4379eb1c",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprcursor",
"type": "github"
}
},
"hyprland": {
"inputs": {
"aquamarine": "aquamarine",
"hyprcursor": "hyprcursor",
"hyprlang": "hyprlang",
"hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": "nixpkgs_2",
"systems": "systems_2",
"xdph": "xdph"
},
"locked": {
"lastModified": 1725829447,
"narHash": "sha256-qwjdAZwqk8kWdJ/NQq0u5RQFA3NfCLOnyoeCDDTmaNM=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "7c4c402bd7f24241c096d809cc80408a469f15cb",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "Hyprland",
"type": "github"
}
},
"hyprland-contrib": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1725551787,
"narHash": "sha256-6LgsZHz8w3g4c9bRUwRAR+WIMwFGGf3P1VZQcKNRf2o=",
"owner": "hyprwm",
"repo": "contrib",
"rev": "1e531dc49ad36c88b45bf836081a7a2c8927e072",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "contrib",
"type": "github"
}
},
"hyprland-protocols": {
"inputs": {
"nixpkgs": [
"hyprland",
"xdph",
"nixpkgs"
],
"systems": [
"hyprland",
"xdph",
"systems"
]
},
"locked": {
"lastModified": 1721326555,
"narHash": "sha256-zCu4R0CSHEactW9JqYki26gy8h9f6rHmSwj4XJmlHgg=",
"owner": "hyprwm",
"repo": "hyprland-protocols",
"rev": "5a11232266bf1a1f5952d5b179c3f4b2facaaa84",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-protocols",
"type": "github"
}
},
"hyprlang": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1725188252,
"narHash": "sha256-yBH8c4GDaEAtBrh+BqIlrx5vp6gG/Gu8fQQK63KAQgs=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "c12ab785ce1982f82594aff03b3104c598186ddd",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprlang",
"type": "github"
}
},
"hyprutils": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1724966483,
"narHash": "sha256-WXDgKIbzjYKczxSZOsJplCS1i1yrTUpsDPuJV/xpYLo=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "8976e3f6a5357da953a09511d0c7f6a890fb6ec2",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprutils",
"type": "github"
}
},
"hyprwayland-scanner": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1721324119,
"narHash": "sha256-SOOqIT27/X792+vsLSeFdrNTF+OSRp5qXv6Te+fb2Qg=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "a048a6cb015340bd82f97c1f40a4b595ca85cc30",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"type": "github"
}
},
"jovian-nixos": {
"flake": false,
"locked": {
@ -331,22 +118,6 @@
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1725103162,
"narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "12228ff1752d7b7624a54e9c1af4b222b3c1073b",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1725634671,
"narHash": "sha256-v3rIhsJBOMLR8e/RNWxr828tB+WywYIoajrZKFM+0Gg=",
@ -366,10 +137,8 @@
"inputs": {
"agenix": "agenix",
"home-manager": "home-manager_2",
"hyprland": "hyprland",
"hyprland-contrib": "hyprland-contrib",
"jovian-nixos": "jovian-nixos",
"nixpkgs": "nixpkgs_3"
"nixpkgs": "nixpkgs_2"
}
},
"systems": {
@ -386,51 +155,6 @@
"repo": "default",
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
}
},
"xdph": {
"inputs": {
"hyprland-protocols": "hyprland-protocols",
"hyprlang": [
"hyprland",
"hyprlang"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1725203932,
"narHash": "sha256-VLULC/OnI+6R9KEP2OIGk+uLJJsfRlaLouZ5gyFd2+Y=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "2425e8f541525fa7409d9f26a8ffaf92a3767251",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"type": "github"
}
}
},
"root": "root",

View File

@ -4,118 +4,35 @@
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
agenix.url = "github:ryantm/agenix";
home-manager = {
url = github:nix-community/home-manager;
inputs.nixpkgs.follows = "nixpkgs";
};
jovian-nixos = {
url = "git+https://github.com/Jovian-Experiments/Jovian-NixOS?ref=development";
flake = false;
};
hyprland.url = "github:hyprwm/Hyprland";
hyprland-contrib = {
url = "github:hyprwm/contrib";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager.url = github:nix-community/home-manager;
home-manager.inputs.nixpkgs.follows = "nixpkgs";
jovian-nixos.url = "git+https://github.com/Jovian-Experiments/Jovian-NixOS?ref=development";
jovian-nixos.flake = false;
};
outputs = inputs @ { self, nixpkgs, home-manager, jovian-nixos, agenix, hyprland, ... }:
outputs = inputs @ { self, nixpkgs, home-manager, jovian-nixos, agenix, ... }:
let
system = "x86_64-linux";
user = "tstarr";
lib = nixpkgs.lib;
pkgs = import nixpkgs {
inherit system;
};
in {
nixosConfigurations = {
kestrel = lib.nixosSystem {
inherit system;
specialArgs = { inherit user; inherit inputs; };
modules = [
./hosts/default.nix
./hosts/kestrel/configuration.nix
./hosts/kestrel/hardware.nix
./modules
agenix.nixosModules.default
home-manager.nixosModules.home-manager {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = { inherit user; };
home-manager.users.${user} = {
imports = [
./home-modules
];
};
}
];
};
shivan = lib.nixosSystem {
inherit system;
specialArgs = { inherit user; inherit inputs; };
modules = [
./hosts/default.nix
./hosts/shivan/configuration.nix
./hosts/shivan/hardware.nix
./modules
agenix.nixosModules.default
home-manager.nixosModules.home-manager {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = { inherit user; };
home-manager.users.${user} = {
imports = [
./home-modules
];
};
}
];
};
torus = lib.nixosSystem {
inherit system;
specialArgs = { inherit user; inherit inputs; };
modules = [
./hosts/default.nix
./hosts/torus/configuration.nix
./hosts/torus/hardware.nix
./modules
agenix.nixosModules.default
home-manager.nixosModules.home-manager {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = { inherit user; };
home-manager.users.${user} = {
imports = [
./home-modules
];
};
}
];
};
bulwark = lib.nixosSystem {
inherit system;
specialArgs = { inherit user; inherit inputs; inherit jovian-nixos; inherit home-manager; };
modules = [
./hosts/default.nix
./hosts/bulwark/configuration.nix
./hosts/bulwark/hardware.nix
./modules
agenix.nixosModules.default
home-manager.nixosModules.home-manager {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = { inherit user; };
home-manager.users.${user} = {
imports = [
./home-modules
];
};
}
];
};
};
kestrel = lib.nixosSystem (import ./hosts/kestrel {
inherit lib;
inherit system user inputs agenix home-manager;
});
shivan = lib.nixosSystem (import ./hosts/shivan {
inherit lib;
inherit system user inputs agenix home-manager;
});
torus = lib.nixosSystem (import ./hosts/torus {
inherit lib;
inherit system user inputs agenix home-manager;
});
bulwark = lib.nixosSystem (import ./hosts/bulwark {
inherit lib;
inherit system user inputs agenix home-manager jovian-nixos;
});
};
};
}

View File

@ -4,6 +4,10 @@ let cfg = config.modules.desktop.kitty;
in {
options.modules.desktop.kitty.enable = lib.mkEnableOption "kitty";
config = lib.mkIf cfg.enable {
home.packages = with pkgs; [
nerdfonts
];
programs.kitty = {
enable = true;
theme = "Gruvbox Dark";

View File

@ -0,0 +1,22 @@
{ lib, system, user, inputs, agenix, home-manager, jovian-nixos, ... }:
{
inherit system;
specialArgs = { inherit user inputs; };
modules = [
../default/physical/configuration.nix
./configuration.nix
./hardware.nix
../../modules
agenix.nixosModules.default
home-manager.nixosModules.home-manager {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = { inherit user; };
home-manager.users.${user} = {
imports = [
../../home-modules
];
};
}
];
}

View File

@ -1,4 +0,0 @@
{ ... }:
{
imports = [ ./default ];
}

View File

@ -1,4 +0,0 @@
{ ... }:
{
imports = [ ./git.nix ./backup.nix ./configuration.nix ./home-configuration.nix ];
}

View File

@ -1,9 +1,14 @@
{ config, pkgs, user, lib, inputs, ... }:
{
imports = [
../git.nix
../backup.nix
./home-configuration.nix
];
nix = {
package = pkgs.nixFlakes;
extraOptions = "experimental-features = nix-command flakes";
settings.auto-optimise-store = true;
gc = {
automatic = true;
@ -15,14 +20,14 @@
# Add non-free packages
nixpkgs.config.allowUnfree = true;
nixpkgs.config.permittedInsecurePackages = [ "electron-25.9.0" "openssl-1.1.1w" ];
nixpkgs.overlays = import ../../lib/overlays.nix;
nixpkgs.overlays = import ../../../lib/overlays.nix;
# Hardware options
hardware.bluetooth.enable = true;
hardware.bluetooth.package = pkgs.bluez;
hardware.sensor.iio.enable = true;
hardware.graphics.enable = true;
hardware.graphics.enable32Bit = true;
#hardware.bluetooth.enable = true;
#hardware.bluetooth.package = pkgs.bluez;
#hardware.sensor.iio.enable = true;
#hardware.graphics.enable = true;
#hardware.graphics.enable32Bit = true;
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
@ -32,11 +37,6 @@
time.timeZone = "America/Los_Angeles";
i18n.defaultLocale = "en_US.UTF-8";
# Fonts
fonts.packages = with pkgs; [
nerdfonts
];
# Define user account.
users.users.${user} = {
isNormalUser = true;
@ -45,7 +45,6 @@
};
environment.systemPackages = with pkgs; [
cowsay # A program which generates ASCII pictures of a cow with a message
inputs.agenix.packages.x86_64-linux.default
];

View File

@ -0,0 +1,22 @@
{ lib, system, user, inputs, agenix, home-manager, ... }:
{
inherit system;
specialArgs = { inherit user inputs; };
modules = [
../default/physical/configuration.nix
./configuration.nix
./hardware.nix
../../modules
agenix.nixosModules.default
home-manager.nixosModules.home-manager {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = { inherit user; };
home-manager.users.${user} = {
imports = [
../../home-modules
];
};
}
];
}

View File

@ -0,0 +1,22 @@
{ lib, system, user, inputs, agenix, home-manager, ... }:
{
inherit system;
specialArgs = { inherit user inputs; };
modules = [
../default/physical/configuration.nix
./configuration.nix
./hardware.nix
../../modules
agenix.nixosModules.default
home-manager.nixosModules.home-manager {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = { inherit user; };
home-manager.users.${user} = {
imports = [
../../home-modules
];
};
}
];
}

View File

@ -0,0 +1,22 @@
{ lib, system, user, inputs, agenix, home-manager, ... }:
{
inherit system;
specialArgs = { inherit user inputs; };
modules = [
../default/physical/configuration.nix
./configuration.nix
./hardware.nix
../../modules
agenix.nixosModules.default
home-manager.nixosModules.home-manager {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = { inherit user; };
home-manager.users.${user} = {
imports = [
../../home-modules
];
};
}
];
}