nix/flake.nix

116 lines
3.1 KiB
Nix

{
description = "A flake using my config";
inputs = {
nixpkgs.url = "nixpkgs/nixos-unstable";
stable-nixpkgs.url = "nixpkgs/nixos-23.11";
home-manager = {
url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs";
};
stylix.url = "github:danth/stylix";
hyprland = {
url = "github:hyprwm/Hyprland/v0.36.0";
inputs.nixpkgs.follows = "nixpkgs";
};
sops-nix.url = "github:Mic92/sops-nix";
};
outputs = inputs: let
system = "x86_64-linux";
pkgs = import inputs.nixpkgs {inherit system;};
user = "tristan";
userFullname = "Tristan Beedell";
auto-login = import ./nixos/programs/auto-login.nix;
mkConf = import ./lib/mkconf.nix {inherit inputs system user userFullname;};
in {
formatter.${system} = pkgs.alejandra;
nixosConfigurations = {
zenix =
mkConf [
inputs.hyprland.nixosModules.default
./hardware/zenix.nix
(auto-login "Hyprland")
./nixos/programs/gamer.nix
./nixos/programs/personal.nix
./nixos/workstation.nix
] [
./home/workstation.nix
./home/desktop/hyprland/.
./home/programs/graphical.nix
./home/programs/gamer.nix
./home/programs/personal/.
./home/programs/xr.nix
];
FCS-Tristan-Nixbook =
mkConf [
inputs.hyprland.nixosModules.default
./hardware/fcs-tristan-nixbook.nix
(auto-login "Hyprland")
./nixos/modules/work.nix
./nixos/workstation.nix
] [
./home/workstation.nix
./home/desktop/hyprland/.
./home/programs/work.nix
./home/programs/graphical.nix
];
alpine = mkConf [
./hardware/alpine.nix
./nixos/services/anki.nix
./nixos/services/forgejo.nix
./nixos/services/vaultwarden.nix
./nixos/services/jellyfin.nix
./nixos/services/mpd.nix
./nixos/services/prometheus.nix
./nixos/services/grafana.nix
./nixos/services/synapse.nix
./nixos/services/whatsapp.nix
./nixos/services/nextcloud.nix
] [];
vm-sway =
builtins.trace ''
use super+enter to start a terminal.
use super+d to launch applications
start the vm with '-vga qxl' or '-vga virtio'
''
mkConf
[
./hardware/vm.nix
(auto-login "sway")
./nixos/workstation.nix
] [
./home/desktop/sway/.
./home/workstation.nix
];
vm-hyprland =
builtins.trace ''
use super+enter to start a terminal.
use super+d to launch applications
Hyprland is VERY SLOW in the VM.
start with '-vga virtio'
''
mkConf
[
./hardware/vm.nix
(auto-login "Hyprland")
./nixos/workstation.nix
] [
./home/desktop/hyprland/.
./home/workstation.nix
];
vm-tty = mkConf [
./hardware/vm.nix
] [];
};
};
}