flakes/flake.nix
LavaDesu e2ee6940ab
packages/nvim-treesitter-nightly: init
this took way too long because i didn't realise .withPlugins only
overrides the original one aaaaaaa
2021-11-24 22:04:50 +07:00

92 lines
4.2 KiB
Nix

{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs";
home-manager.url = "github:nix-community/home-manager";
neovim-nightly.url = "github:nix-community/neovim-nightly-overlay";
agenix.url = "github:ryantm/agenix";
agenix.inputs.nixpkgs.follows = "nixpkgs";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
neovim-nightly.inputs.nixpkgs.follows = "nixpkgs";
nix-gaming.url = "github:fufexan/nix-gaming";
powercord-overlay.url = "github:LavaDesu/powercord-overlay";
powercord-overlay.inputs.nixpkgs.follows = "nixpkgs";
# zsh plugins
zsh-abbr = { url = "github:olets/zsh-abbr"; flake = false; };
zsh-history-substring-search = { url = "github:zsh-users/zsh-history-substring-search"; flake = false; };
fast-syntax-highlighting = { url = "github:zdharma-continuum/fast-syntax-highlighting"; flake = false; };
pure = { url = "github:sindresorhus/pure"; flake = false; };
# overlays
discord-tokyonight = { url = "github:DanisDGK/zelk-customizations"; flake = false; };
discover = { url = "github:trigg/Discover"; flake = false; };
linux-tkg = { url = "github:Frogging-Family/linux-tkg"; flake = false; };
nvim-treesitter = { url = "github:nvim-treesitter/nvim-treesitter"; flake = false; };
packwiz = { url = "github:comp500/packwiz"; flake = false; };
spotify-adblock = { url = "github:abba23/spotify-adblock"; flake = false; };
tree-sitter-glimmer = { url = "github:alexlafroscia/tree-sitter-glimmer"; flake = false; };
tree-sitter-jsonc = { url = "gitlab:WhyNotHugo/tree-sitter-jsonc"; flake = false; };
# shells
rust-overlay.url = "github:oxalica/rust-overlay";
rust-overlay.inputs.nixpkgs.follows = "nixpkgs";
# powercord plugins/themes
better-status-indicators = { url = "github:griefmodz/better-status-indicators"; flake = false; };
channel-typing = { url = "github:powercord-community/channel-typing"; flake = false; };
discord-tweaks = { url = "github:NurMarvin/discord-tweaks"; flake = false; };
fix-user-popouts = { url = "github:cyyynthia/fix-user-popouts"; flake = false; };
no-double-back-pc = { url = "github:the-cord-plug/no-double-back-pc"; flake = false; };
powercord-popout-fix = { url = "github:Nexure/PowerCord-Popout-Fix"; flake = false; };
rolecolor-everywhere = { url = "github:powercord-community/rolecolor-everywhere"; flake = false; };
theme-toggler = { url = "github:redstonekasi/theme-toggler"; flake = false; };
twemoji-but-good = { url = "github:powercord-community/twemoji-but-good"; flake = false; };
view-raw = { url = "github:Juby210/view-raw"; flake = false; };
who-reacted = { url = "github:jaimeadf/who-reacted"; flake = false; };
radialstatus = { url = "github:DiscordStyles/RadialStatus"; flake = false; };
tokyonight = { url = "github:Dyzean/Tokyo-Night"; flake = false; };
zelk = { url = "github:schnensch0/zelk"; flake = false; };
};
outputs = { self, agenix, nixpkgs, home-manager, ... } @ inputs:
let
overlays = (import ./overlays)
++ [inputs.neovim-nightly.overlay]
++ [inputs.powercord-overlay.overlay]
++ [(final: prev: {
me = prev.callPackage ./packages { inherit inputs; } // { inherit inputs; };
})];
pkgs = import nixpkgs {
inherit overlays;
system = "x86_64-linux";
};
lib = pkgs.lib;
modules = import ./modules { inherit lib; };
mkSystem =
if !(self ? rev) then throw "Dirty git tree detected." else
name: arch: enableGUI: nixpkgs.lib.nixosSystem {
system = arch;
modules = [
{ nixpkgs.overlays = overlays; }
home-manager.nixosModules.home-manager
agenix.nixosModules.age
(./hosts + "/${name}")
];
specialArgs = { inherit inputs modules enableGUI; };
};
in
{
nixosConfigurations."apricot" = mkSystem "apricot" "x86_64-linux" false;
nixosConfigurations."blossom" = mkSystem "blossom" "x86_64-linux" true;
nixosConfigurations."fondue" = mkSystem "fondue" "x86_64-linux" false;
devShells.x86_64-linux = pkgs.callPackage ./shells { inherit inputs; };
packages.x86_64-linux = pkgs.me;
};
}