176 lines
4.7 KiB
Nix
176 lines
4.7 KiB
Nix
{
|
|
description = "A flake using my config";
|
|
inputs = {
|
|
# nixpkgs.url = "nixpkgs/nixos-unstable";
|
|
musnix.url = "github:musnix/musnix";
|
|
nixpkgs.follows = "nixos-cosmic/nixpkgs";
|
|
nixpkgs-stable.url = "nixpkgs/nixos-24.05";
|
|
home-manager = {
|
|
url = "github:nix-community/home-manager/master";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
hm-cosmic.url = "github:tristanbeedell/hm-cosmic/master";
|
|
stylix.url = "github:danth/stylix";
|
|
sops-nix.url = "github:Mic92/sops-nix";
|
|
nixos-cosmic = {
|
|
url = "github:lilyinstarlight/nixos-cosmic";
|
|
# inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
nixvim = {
|
|
url = "github:nix-community/nixvim";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
};
|
|
|
|
outputs = {nixvim, ...} @ 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 {
|
|
nixos-modules = [
|
|
./hardware/zenix.nix
|
|
./nixos/programs/cosmic.nix
|
|
./nixos/programs/gamer.nix
|
|
./nixos/programs/personal.nix
|
|
./nixos/services/musnix.nix
|
|
./nixos/workstation.nix
|
|
./nixos/programs/hyprland.nix
|
|
];
|
|
home-modules = [
|
|
./home/programs/graphical.nix
|
|
./home/programs/gamer.nix
|
|
./home/programs/personal/.
|
|
];
|
|
};
|
|
|
|
FCS-Tristan-Nixbook = mkConf {
|
|
nixos-modules = [
|
|
./hardware/fcs-tristan-nixbook.nix
|
|
./nixos/workstation.nix
|
|
./nixos/modules/work.nix
|
|
./nixos/programs/cosmic.nix
|
|
./nixos/programs/libvertd.nix
|
|
./nixos/programs/hyprland.nix
|
|
];
|
|
home-modules = [
|
|
./home/programs/work.nix
|
|
./home/programs/graphical.nix
|
|
./home/desktop/cosmic/laptop.nix
|
|
];
|
|
};
|
|
|
|
framework-13 = mkConf {
|
|
nixos-modules = [
|
|
./hardware/framework-13.nix
|
|
./nixos/workstation.nix
|
|
./nixos/modules/work.nix
|
|
./nixos/programs/hyprland.nix
|
|
(import ./nixos/programs/auto-login.nix "hyprland")
|
|
];
|
|
home-modules = [
|
|
./home/programs/work.nix
|
|
./home/programs/graphical.nix
|
|
];
|
|
};
|
|
|
|
alpine = mkConf {
|
|
nixos-modules = [
|
|
./hardware/alpine.nix
|
|
./nixos/services/anki.nix
|
|
./nixos/services/forgejo.nix
|
|
./nixos/services/vaultwarden.nix
|
|
./nixos/services/jellyfin.nix
|
|
./nixos/services/prometheus.nix
|
|
./nixos/services/grafana.nix
|
|
./nixos/services/loki.nix
|
|
./nixos/services/synapse/.
|
|
./nixos/services/mautrix/whatsapp.nix
|
|
./nixos/services/mautrix/signal.nix
|
|
./nixos/services/nextcloud.nix
|
|
./nixos/services/ntfy.nix
|
|
./nixos/services/authentik.nix
|
|
./nixos/services/monero.nix
|
|
./nixos/services/arr.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
|
|
{
|
|
nixos-modules = [
|
|
./hardware/vm.nix
|
|
(auto-login "sway")
|
|
./nixos/workstation.nix
|
|
];
|
|
home-modules = [
|
|
./home/desktop/sway/.
|
|
./home/workstation.nix
|
|
];
|
|
};
|
|
|
|
vm-cosmic =
|
|
mkConf
|
|
{
|
|
nixos-modules = [
|
|
./hardware/vm.nix
|
|
./nixos/workstation.nix
|
|
./nixos/programs/cosmic.nix
|
|
];
|
|
home-modules = [
|
|
./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
|
|
{
|
|
nixos-modules = [
|
|
./hardware/vm.nix
|
|
(auto-login "Hyprland")
|
|
./nixos/programs/hyprland.nix
|
|
];
|
|
};
|
|
|
|
vm-tty =
|
|
mkConf
|
|
{
|
|
nixos-modules = [
|
|
./hardware/vm.nix
|
|
];
|
|
};
|
|
};
|
|
|
|
packages.${system} = {
|
|
nixvim = let
|
|
nixvim' = nixvim.legacyPackages.${system};
|
|
nixvimModule = {
|
|
inherit pkgs;
|
|
module = import ./lib/nixvim.nix;
|
|
};
|
|
nvim = nixvim'.makeNixvimWithModule nixvimModule;
|
|
in
|
|
nvim;
|
|
};
|
|
};
|
|
}
|