summaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
authorDevin Finlinson <devin.finlinson@pm.me>2023-09-29 21:10:20 -0600
committerDevin Finlinson <devin.finlinson@pm.me>2023-09-29 21:10:20 -0600
commitcc6c2ad12e8df38456d43293d2ad627df80d1c1b (patch)
tree369faf5dc4de4d44cee9624d8db371e81a1418de /flake.nix
parent8a5a019f21e0597dd24588c6364dd1bba075451c (diff)
parent5265ac12ec68637b725562e5762d464d57864617 (diff)
changing tons of stuff it will definitely break
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix146
1 files changed, 143 insertions, 3 deletions
diff --git a/flake.nix b/flake.nix
index 50a89d7..3823638 100644
--- a/flake.nix
+++ b/flake.nix
@@ -6,15 +6,128 @@
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager = {
- url = "github:nix-community/home-manager/release-23.05";
+ url = "github:nix-community/home-manager/release-23.05";
+ # The `follows` keyword in inputs is used for inheritance.
+ # Here, `inputs.nixpkgs` of home-manager isn't kept consistent with the `inputs.nixpkgs` of the current flake,
+ # to not avoid problems caused by different versions of nixpkgs dependencies.
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
- # hyprland.url = "github:hyprwm/Hyprland";
+ # modern window compositor
+ hyprland.url = "github:hyprwm/Hyprland";
+
+ #community wayland nixpkgs
+ # nixpkgs-wayland.url = "github:nix-community/nixpkgs-wayland";
+ # anyrun - a wayland launcher
+ # anyrun = {
+ # url = "github:Kirottu/anyrun";
+ # inputs.nixpkgs.follows = "nixpkgs-unstable";
+ # };
+
+ # # generate iso/qcow2/docker/... image from nixos configuration
+ # nixos-generators = {
+ # url = "github:nix-community/nixos-generators";
+ # inputs.nixpkgs.follows = "nixpkgs";
+ # };
+
+ #secrets management, lock with git commit at 20xx/x/xx
+ #.........
+
+ ##################### Some non-flake repositories #########################################
+
+ # # AstroNvim is an aesthetic and feature-ruch neovim config.
+ # astronvim = {
+ # url = "github:AstroNvim/AstroVnim/v3.36.0";
+ # flake = false;
+ # };
+
+ # # useful nushell scripts, such as auto_completion
+ # nushell-scripts = {
+ # url = "github:nushell/nu_scripts"
+ # flake = false;
+ # };
+
+ # ryan4yin wallpapers
+ wallpapers = {
+ url = "github:ryan4yin/wallpapers";
+ flake = false;
+ };
+
+ # # nur-ryan4yin = {
+ # url = "github:ryan4yin/nur-packages";
+ # # inputs.nixpkgs.follows "nixpkgs";
+ # };
+
+ # # riscv64 SBCs
+ # nixos-licheepi4a.url = "github:ryan4yin/nixos-licheepi4a";
+ # # nixos-jh7110.url = "github:ryan4yin/nixos-jh7110";
+
+ # aarch64 SBCs
+ # nixos-rk3588.url = "github:ryan4yin/nixos-rk3588";
+
+ ############# Personal repositories ########################################
+
+ # # my private secrets, it's a private repository, you need to replace it with your own.
+ # # use ssh protocol to authenticate via ssh-agent/ssh-key, and shallow clone to save time
+ # mysecrets = {
+ # url = "";
+ # flake = false;
+ # };
+
+ ##################### Color Schemes #######################################
+
+ #color scheme -catppuccin
+ catppuccin-btop = {
+ url = "github:catppuccin/btop";
+ flake = false;
+ };
+ catppuccin-bat = {
+ url = "github:catppuccin/bat";
+ flake = false;
+ };
+ catppuccin-alacritty = {
+ url = "github:catppuccing/alacritty";
+ flake = false;
+ };
+ catppuccin-helix = {
+ url = "github:catppuccin/helix";
+ flake = false;
+ };
+ catppuccin-starship = {
+ url = "github:catppuccin/starship";
+ flake = false;
+ };
+ catppuccin-hyprland = {
+ url = "github:catppuccin/hyprland";
+ flake = false;
+ };
+
+
+ # # the nixConfig here only affects the flake inself, not the system configuration!
+ # nixConfig = {
+ # experimental-features = ["nix-command" "flakes"];
+
+ # substituters = [
+ # #my own cache server
+ # "url-here"
+ # "https://cache.nixos.org"
+ # "https://hyprland.cachix.org"
+ # ];
+
+ # # nix community's cache server
+ # extra-substituters = [
+ # "https://nix-community.cachix.org"
+ # "https://nixpkgs-wayland.cachix.org"
+ # ];
+ # extra-trusted-public-keys = [
+ # "keys here"
+ # ];
+ # };
+
};
# outputs = inputs@{ self, nixpkgs, nixpkgs-unstable, home-manager, hyprland, ... }: {
- outputs = inputs@{ self, nixpkgs, nixpkgs-unstable, home-manager, ... }: {
+ outputs = inputs@{ self, nixpkgs, nixpkgs-unstable, home-manager, wallpapers, catppuccin-btop, catppuccin-bat, catppuccin-alacritty, catppuccin-starship, catppuccin-hyprland, ... }: {
nixosConfigurations = {
@@ -27,6 +140,7 @@
# Default users
./modules/user-profiles/defin.nix
+ ./modules/user-profiles/root.nix
home-manager.nixosModules.home-manager {
@@ -57,6 +171,32 @@
# nix.registry.nixpkgs.flake = nixpkgs;
];
};
+
+ khad = nixpkgs.lib.nixosSystem {
+ modules = [
+ ./machines/khad/configuration.nix
+
+ ./machines/khad/hardware-configuration.nix
+
+ ./modules/user-profiles/defin.nix
+
+ home-manager.nixosModules.home-manager {
+ home-manager.useGlobalPkgs = true;
+ home-manager.useUserPackages = true;
+ home-manager.users.defin = import ./home-manager/home.nix;
+ }
+ ./modules/hyprland.nix
+
+ ./modules/bluetooth.nix
+ ./modules/environment.nix
+ ./modules/kde-connect.nix
+ ./modules/nix-common.nix
+ ./modules/services.nix
+ ./modules/steam.nix
+ ./modules/sway.nix
+ ./modules/system-packages.nix
+ ];
+ };
};
};
}