cswimr
4b31769241
this change was made for a multitude of reasons: 1. Zen's constant updates would be completely fine if they didn't almost always result in some part of my workflow being broken. I want my browser to be stable, I don't want updating to break the address bar completely like the latest update as of writing (1.0.2b) 2. Floorp is supported by Home Manager, allowing me to declaratively manage my browser configuration.
218 lines
6.3 KiB
Nix
218 lines
6.3 KiB
Nix
{
|
|
description = "System Configuration @ cswimr 2024";
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
home-manager = {
|
|
url = "github:nix-community/home-manager/master";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
nur = {
|
|
url = "github:nix-community/NUR";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
plasma-manager = {
|
|
url = "github:nix-community/plasma-manager";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
inputs.home-manager.follows = "home-manager";
|
|
};
|
|
sops-nix = {
|
|
url = "github:Mic92/sops-nix";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
lanzaboote = {
|
|
url = "github:nix-community/lanzaboote/v0.4.1";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
nix-flatpak.url = "github:gmodena/nix-flatpak";
|
|
nixvim = {
|
|
url = "github:nix-community/nixvim";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
nix-index-database = {
|
|
url = "github:nix-community/nix-index-database";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
compose2nix = {
|
|
url = "github:aksiksi/compose2nix";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions";
|
|
catppuccin-vsc.url = "https://flakehub.com/f/catppuccin/vscode/*.tar.gz";
|
|
};
|
|
outputs =
|
|
{
|
|
self,
|
|
nixpkgs,
|
|
home-manager,
|
|
...
|
|
}@inputs:
|
|
let
|
|
user = "cswimr";
|
|
system = "x86_64-linux";
|
|
pkgs = import nixpkgs {
|
|
inherit system;
|
|
overlays = [
|
|
inputs.catppuccin-vsc.overlays.default
|
|
inputs.nur.overlays.default
|
|
];
|
|
config.allowUnfree = true;
|
|
};
|
|
in
|
|
{
|
|
nixosConfigurations = {
|
|
eclipse = nixpkgs.lib.nixosSystem {
|
|
system = system;
|
|
specialArgs = {
|
|
inherit inputs;
|
|
inherit pkgs;
|
|
system = system;
|
|
hostname = "eclipse";
|
|
user = user;
|
|
};
|
|
modules = [
|
|
# imports
|
|
./hosts/eclipse.nix
|
|
./nixos/catppuccin.nix
|
|
./nixos/configuration.nix
|
|
./nixos/development.nix
|
|
./nixos/environment.nix
|
|
./nixos/flatpak.nix
|
|
./nixos/gaming.nix
|
|
./nixos/git.nix
|
|
./nixos/gui-pkgs.nix
|
|
./nixos/nvidia.nix
|
|
./nixos/nvim.nix
|
|
./nixos/pkg.nix
|
|
./nixos/shell.nix
|
|
./nixos/sops.nix
|
|
./nixos/sudo.nix
|
|
./nixos/symlinks.nix
|
|
./nixos/tailscale.nix
|
|
./nixos/tpm.nix
|
|
|
|
{
|
|
# enable bluetooth
|
|
hardware.bluetooth.enable = true;
|
|
}
|
|
|
|
inputs.sops-nix.nixosModules.sops
|
|
inputs.nixvim.nixosModules.nixvim
|
|
inputs.nur.modules.nixos.default
|
|
inputs.nix-flatpak.nixosModules.nix-flatpak
|
|
|
|
inputs.lanzaboote.nixosModules.lanzaboote
|
|
(
|
|
{ lib, ... }:
|
|
{
|
|
boot.loader.systemd-boot.enable = lib.mkForce false;
|
|
boot.lanzaboote = {
|
|
enable = true;
|
|
pkiBundle = "/etc/secureboot";
|
|
};
|
|
}
|
|
)
|
|
|
|
inputs.nix-index-database.nixosModules.nix-index
|
|
{ programs.nix-index-database.comma.enable = true; }
|
|
|
|
# Home Manager
|
|
home-manager.nixosModules.home-manager
|
|
{
|
|
home-manager = {
|
|
useGlobalPkgs = true;
|
|
useUserPackages = true;
|
|
sharedModules = [
|
|
inputs.nur.modules.homeManager.default
|
|
inputs.plasma-manager.homeManagerModules.plasma-manager
|
|
];
|
|
backupFileExtension = "bak";
|
|
extraSpecialArgs = {
|
|
inherit inputs;
|
|
inherit pkgs;
|
|
system = system;
|
|
hostname = "eclipse";
|
|
user = user;
|
|
};
|
|
users.${user} = {
|
|
imports = [
|
|
./home-manager/browser.nix
|
|
./home-manager/plasma.nix
|
|
./home-manager/tpm.nix
|
|
./home-manager/user.nix
|
|
./home-manager/vscode.nix
|
|
{
|
|
programs.git.extraConfig.user.signingkey = "0EC431A8DA8F8087";
|
|
}
|
|
];
|
|
};
|
|
};
|
|
}
|
|
];
|
|
};
|
|
|
|
nebula = nixpkgs.lib.nixosSystem {
|
|
system = system;
|
|
specialArgs = {
|
|
inherit inputs;
|
|
inherit pkgs;
|
|
system = system;
|
|
hostname = "nebula";
|
|
};
|
|
modules = [
|
|
# imports
|
|
./hosts/nebula.nix
|
|
./nixos/catppuccin.nix
|
|
./nixos/configuration.nix
|
|
./nixos/development.nix
|
|
./nixos/environment.nix
|
|
./nixos/gaming.nix
|
|
./nixos/git.nix
|
|
./nixos/gui-pkgs.nix
|
|
./nixos/nvim.nix
|
|
./nixos/pkg.nix
|
|
./nixos/shell.nix
|
|
./nixos/sudo.nix
|
|
./nixos/symlinks.nix
|
|
./nixos/tailscale.nix
|
|
|
|
{
|
|
# enable bluetooth
|
|
hardware.bluetooth.enable = true;
|
|
}
|
|
|
|
inputs.nixvim.nixosModules.nixvim
|
|
inputs.nix-flatpak.nixosModules.nix-flatpak
|
|
|
|
# Home Manager
|
|
home-manager.nixosModules.home-manager
|
|
{
|
|
home-manager = {
|
|
useGlobalPkgs = true;
|
|
useUserPackages = true;
|
|
sharedModules = [ inputs.plasma-manager.homeManagerModules.plasma-manager ];
|
|
backupFileExtension = "bak";
|
|
extraSpecialArgs = {
|
|
inherit inputs;
|
|
inherit pkgs;
|
|
system = system;
|
|
hostname = "nebula";
|
|
user = user;
|
|
};
|
|
users.${user} = {
|
|
imports = [
|
|
./home-manager/plasma.nix
|
|
./home-manager/user.nix
|
|
./home-manager/vscode.nix
|
|
{
|
|
programs.git.extraConfig.user.signingkey = "082F226A1D8C0860";
|
|
}
|
|
];
|
|
};
|
|
};
|
|
}
|
|
];
|
|
};
|
|
};
|
|
};
|
|
|
|
}
|