This repository has been archived on 2024-04-14. You can view files and clone it, but cannot push or open issues or pull requests.
nixos-dotfiles/flake.nix

181 lines
4.4 KiB
Nix
Raw Normal View History

2022-08-07 15:46:46 +01:00
{
description = "My personal dotfiles";
inputs = {
2022-08-21 01:18:19 +01:00
nixpkgs.url = "nixpkgs/nixpkgs-unstable";
2022-08-07 19:14:22 +01:00
2022-08-09 13:29:24 +01:00
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
2022-08-07 19:14:22 +01:00
2022-12-16 08:10:28 +00:00
nix-colors = {
url = "github:Misterio77/nix-colors";
};
2022-10-03 23:21:40 +01:00
# Fish Plugins
bobthefish = {
url = "github:oh-my-fish/theme-bobthefish";
flake = false;
};
2022-12-16 08:10:28 +00:00
# Fish Plugins End
2022-10-03 23:21:40 +01:00
2023-03-20 02:49:03 +00:00
friendly-snippets = {
url = "github:rafamadriz/friendly-snippets";
flake = false;
};
2022-09-10 05:44:34 +01:00
xorg-git = {
2022-11-30 13:25:50 +00:00
url = "gitlab:xorg/xserver?host=gitlab.freedesktop.org";
2022-09-10 05:44:34 +01:00
flake = false;
};
grub2-themes = {
url = "github:vinceliuice/grub2-themes";
inputs.nixpkgs.follows = "nixpkgs";
};
2022-11-14 11:58:04 +00:00
hyprland = {
url = "github:hyprwm/hyprland";
2023-05-10 13:37:18 +01:00
#url = "github:hyprwm/hyprland";
inputs.nixpkgs.follows = "nixpkgs";
};
2023-01-24 14:23:45 +00:00
hyprland-contrib = {
url = "github:hyprwm/contrib";
inputs.nixpkgs.follows = "nixpkgs";
};
2023-02-26 00:49:03 +00:00
hyprpaper = {
url = "github:hyprwm/hyprpaper";
inputs.nixpkgs.follows = "nixpkgs";
};
2023-03-14 15:23:24 +00:00
hyprpicker = {
url = "github:hyprwm/hyprpicker";
inputs.nixpkgs.follows = "nixpkgs";
};
2023-05-10 13:37:18 +01:00
openmw-git = {
url = "gitlab:OpenMW/openmw";
flake = false;
};
2022-11-14 11:58:04 +00:00
waybar = {
url = "github:alexays/waybar";
flake = false;
};
2022-11-30 13:25:50 +00:00
2023-05-10 13:37:18 +01:00
gruvbox-kvantum = {
url = "github:thefallnn/Gruvbox-Kvantum";
flake = false;
};
chaotic-nyx.url = "github:chaotic-aur/nyx";
2023-02-26 00:49:03 +00:00
2022-08-21 01:18:19 +01:00
};
2022-08-14 21:20:39 +01:00
2022-12-16 08:10:28 +00:00
outputs = { self, nixpkgs, home-manager, nix-colors, ... }@inputs:
2022-08-07 15:46:46 +01:00
let
system = "x86_64-linux";
pkgs = import nixpkgs {
2022-08-07 19:14:22 +01:00
inherit system;
2022-08-14 21:20:39 +01:00
config = {
allowUnfree = true;
allowUnsupportedSystem = true;
};
2023-02-26 00:49:03 +00:00
overlays = [
self.overlays.default
2023-05-10 13:37:18 +01:00
inputs.chaotic-nyx.overlays.default
2023-03-24 01:43:20 +00:00
inputs.hyprland.overlays.default
2023-02-26 00:49:03 +00:00
inputs.hyprland-contrib.overlays.default
inputs.hyprpaper.overlays.default
2023-03-14 15:23:24 +00:00
inputs.hyprpicker.overlays.default
2023-02-26 00:49:03 +00:00
];
2022-08-07 15:46:46 +01:00
};
in
{
2022-10-03 23:21:40 +01:00
overlays.default = final: prev: rec {
2022-11-30 13:25:50 +00:00
nerdfonts = prev.nerdfonts.override {
2023-04-12 23:27:05 +01:00
fonts = [ "JetBrainsMono" ];
2022-11-30 13:25:50 +00:00
};
2022-09-04 00:54:47 +01:00
2023-05-10 13:37:18 +01:00
xwayland = prev.xwayland.overrideAttrs (old: {
version = "9999";
src = inputs.xorg-git;
buildInputs = old.buildInputs ++ [
prev.udev
prev.xorg.libpciaccess
];
});
waybar_hyprland = prev.waybar.overrideAttrs (old: {
version = "9999";
src = inputs.waybar;
2022-12-16 08:10:28 +00:00
preConfigure = ''
2023-05-10 13:37:18 +01:00
sed -i 's/zext_workspace_handle_v1_activate(workspace_handle_);/const std::string command = "hyprctl dispatch workspace " + name_;\n\tsystem(command.c_str());/g' \
src/modules/wlr/workspace_manager.cpp
2022-11-14 11:58:04 +00:00
'';
2022-08-07 19:14:22 +01:00
2023-05-10 13:37:18 +01:00
mesonFlags = old.mesonFlags ++ [
"-Dexperimental=true"
"-Dcava=disabled"
];
});
2022-09-04 00:54:47 +01:00
2022-09-20 14:26:47 +01:00
steam = prev.steam.override {
extraPkgs = pkgs: [
2022-12-16 08:10:28 +00:00
pkgs.gnome.zenity
2023-04-12 23:27:05 +01:00
pkgs.xdg-user-dirs
];
extraLibraries = pkgs: [
2022-11-14 11:58:04 +00:00
];
2023-03-14 15:23:24 +00:00
};
2022-11-14 11:58:04 +00:00
2023-05-10 13:37:18 +01:00
openmw = prev.openmw.overrideAttrs (old: {
version = "9999";
src = inputs.openmw-git;
buildInputs = old.buildInputs ++ [ pkgs.libyamlcpp pkgs.luajit ];
patches = [];
dontWrapQtApps = false;
});
2023-03-14 15:23:24 +00:00
ncmpcpp = prev.ncmpcpp.override {
visualizerSupport = true;
2022-09-20 14:26:47 +01:00
};
2022-10-03 23:21:40 +01:00
};
2023-02-26 00:49:03 +00:00
nixosConfigurations.terra = nixpkgs.lib.nixosSystem
{
inherit system;
inherit pkgs;
specialArgs = { inherit inputs; };
modules = [
{
# needed to get tools working that expect a nixpkgs channel to exist
nix.nixPath = [ "nixpkgs=${nixpkgs}" ];
nix.registry = { nixpkgs.flake = nixpkgs; };
}
2023-05-15 21:06:28 +01:00
./configuration.nix
2023-02-26 00:49:03 +00:00
home-manager.nixosModules.home-manager
{
home-manager = {
useUserPackages = true;
users.manuel = import ./user/home.nix;
extraSpecialArgs = { inherit inputs pkgs nix-colors; };
};
}
inputs.grub2-themes.nixosModules.default
inputs.chaotic-nyx.nixosModules.default
2023-02-26 00:49:03 +00:00
];
};
2022-08-07 15:46:46 +01:00
};
}
2023-02-26 00:49:03 +00:00