mirror of
https://github.com/kittywitch/nixfiles.git
synced 2026-02-09 04:19:19 -08:00
feat: deduplicate flake lock, set up treefmt-nix
This commit is contained in:
parent
66d18b0a49
commit
7913481b66
15 changed files with 830 additions and 876 deletions
1383
flake.lock
generated
1383
flake.lock
generated
File diff suppressed because it is too large
Load diff
42
flake.nix
42
flake.nix
|
|
@ -1,6 +1,9 @@
|
|||
{
|
||||
description = "Kat's Infrastructure";
|
||||
inputs = {
|
||||
rust-overlay.url = "github:oxalica/rust-overlay";
|
||||
rust.url = "github:arcnmx/nixexprs-rust";
|
||||
treefmt-nix.url = "github:numtide/treefmt-nix";
|
||||
lix-module = {
|
||||
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.93.2-1.tar.gz";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
|
@ -8,6 +11,7 @@
|
|||
systems.url = "github:nix-systems/default";
|
||||
# TODO: https://github.com/catppuccin/nix/issues/601
|
||||
catppuccin.url = "github:catppuccin/nix";#/194881dd2ad6303bc2d49f9ce484d127372d7465";
|
||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||
# to allow non-nix 2.4 evaluation
|
||||
flake-compat = {
|
||||
url = "github:edolstra/flake-compat";
|
||||
|
|
@ -20,12 +24,6 @@
|
|||
};
|
||||
nix-gaming.url = "github:fufexan/nix-gaming";
|
||||
|
||||
hyprland = {
|
||||
url = "github:hyprwm/Hyprland/v0.49.0";
|
||||
inputs = {
|
||||
nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
# used for overriding unwanted flake inputs
|
||||
empty.url = "github:input-output-hk/empty-flake";
|
||||
# self-explanatory
|
||||
|
|
@ -87,26 +85,30 @@
|
|||
lanzaboote = {
|
||||
url = "github:nix-community/lanzaboote/v0.4.2";
|
||||
|
||||
# Optional but recommended to limit the size of your system closure.
|
||||
inputs = {
|
||||
nixpkgs.follows = "nixpkgs";
|
||||
flake-utils.follows = "utils";
|
||||
flake-compat.follows = "flake-compat";
|
||||
};
|
||||
};
|
||||
catppuccin-qtct = {
|
||||
type = "github";
|
||||
owner = "catppuccin";
|
||||
repo = "qt5ct";
|
||||
flake = false;
|
||||
};
|
||||
spicetify-nix.url = "github:Gerg-L/spicetify-nix";
|
||||
push2talk = {
|
||||
url = "github:cyrinux/push2talk/main";
|
||||
inputs = {
|
||||
nixpkgs.follows = "nixpkgs";
|
||||
flake-utils.follows = "utils";
|
||||
flake-utils.follows = "flake-utils";
|
||||
};
|
||||
};
|
||||
wezterm = {
|
||||
url = "github:wez/wezterm/main?dir=nix";
|
||||
inputs = {
|
||||
nixpkgs.follows = "nixpkgs";
|
||||
flake-utils.follows = "utils";
|
||||
flake-utils.follows = "flake-utils";
|
||||
};
|
||||
};
|
||||
ci = {
|
||||
|
|
@ -127,7 +129,7 @@
|
|||
inputs = {
|
||||
flake-compat.follows = "flake-compat";
|
||||
nixpkgs.follows = "nixpkgs";
|
||||
utils.follows = "utils";
|
||||
utils.follows = "flake-utils";
|
||||
};
|
||||
};
|
||||
# self-explanatory
|
||||
|
|
@ -147,19 +149,10 @@
|
|||
url = "github:cmacrae/spacebar/v1.4.0";
|
||||
inputs = {
|
||||
nixpkgs.follows = "nixpkgs";
|
||||
flake-utils.follows = "utils";
|
||||
flake-utils.follows = "flake-utils";
|
||||
};
|
||||
};
|
||||
# WSL host
|
||||
wsl = {
|
||||
url = "github:nix-community/NixOS-WSL";
|
||||
inputs = {
|
||||
nixpkgs.follows = "nixpkgs";
|
||||
flake-utils.follows = "utils";
|
||||
flake-compat.follows = "flake-compat";
|
||||
};
|
||||
};
|
||||
utils = {
|
||||
flake-utils = {
|
||||
url = "github:numtide/flake-utils";
|
||||
inputs.systems.follows = "systems";
|
||||
};
|
||||
|
|
@ -177,7 +170,7 @@
|
|||
url = "github:kittywitch/konawall-py";
|
||||
inputs = {
|
||||
nixpkgs.follows = "nixpkgs";
|
||||
flake-utils.follows = "utils";
|
||||
flake-utils.follows = "flake-utils";
|
||||
};
|
||||
};
|
||||
# hardware quirks
|
||||
|
|
@ -187,7 +180,6 @@
|
|||
url = "github:Mic92/sops-nix";
|
||||
inputs = {
|
||||
nixpkgs.follows = "nixpkgs";
|
||||
nixpkgs-stable.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
# pre-computed nix-index
|
||||
|
|
@ -199,7 +191,7 @@
|
|||
url = "github:Infinidoge/nix-minecraft";
|
||||
inputs = {
|
||||
nixpkgs.follows = "nixpkgs";
|
||||
flake-utils.follows = "utils";
|
||||
flake-utils.follows = "flake-utils";
|
||||
flake-compat.follows = "flake-compat";
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
inputs.utils.lib.eachDefaultSystem (system: {
|
||||
${system} = pkgs.${system}.alejandra;
|
||||
})
|
||||
13
formatting.nix
Normal file
13
formatting.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
inputs.flake-utils.lib.eachDefaultSystem (system: let
|
||||
treefmtEval = inputs.treefmt-nix.lib.evalModule inputs.nixpkgs.legacyPackages.${system} ./treefmt.nix;
|
||||
in {
|
||||
formatter = treefmtEval.config.build.wrapper;
|
||||
checks = {
|
||||
formatting = treefmtEval.config.build.check inputs.self;
|
||||
};
|
||||
})
|
||||
|
|
@ -21,12 +21,14 @@ in {
|
|||
};
|
||||
};
|
||||
|
||||
services.mako = mkForce {
|
||||
services.mako = {
|
||||
enable = true;
|
||||
settings = {
|
||||
font = "Monaspace Krypton 10";
|
||||
defaultTimeout = 3000;
|
||||
borderColor = palette.base08;
|
||||
backgroundColor = "${palette.base00}BF";
|
||||
textColor = palette.base05;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,16 +1,218 @@
|
|||
{ lib, ... }: let
|
||||
{ lib, pkgs, inputs, ... }: let
|
||||
inherit (lib) mkForce;
|
||||
qtct = ''
|
||||
[Appearance]
|
||||
color_scheme_path=${inputs.catppuccin-qtct}/themes/Catppuccin-Frappe.conf
|
||||
custom_palette=true
|
||||
icon_theme=Breeze
|
||||
standard_dialogs=kde
|
||||
style=Breeze
|
||||
'';
|
||||
colors = pkgs.writeTextFile {
|
||||
name = "colors";
|
||||
text = ''
|
||||
@define-color accent_color ${config.palette.${config.catppuccin.accent}.hex};
|
||||
@define-color accent_bg_color ${config.palette.${config.catppuccin.accent}.hex};
|
||||
@define-color accent_fg_color ${config.palette.base.hex};
|
||||
@define-color destructive_color ${config.palette.red.hex};
|
||||
@define-color destructive_bg_color ${config.palette.red.hex};
|
||||
@define-color destructive_fg_color ${config.palette.base.hex};
|
||||
@define-color success_color ${config.palette.green.hex};
|
||||
@define-color success_bg_color ${config.palette.green.hex};
|
||||
@define-color success_fg_color ${config.palette.base.hex};
|
||||
@define-color warning_color ${config.palette.mauve.hex};
|
||||
@define-color warning_bg_color ${config.palette.mauve.hex};
|
||||
@define-color warning_fg_color ${config.palette.base.hex};
|
||||
@define-color error_color ${config.palette.red.hex};
|
||||
@define-color error_bg_color ${config.palette.red.hex};
|
||||
@define-color error_fg_color ${config.palette.base.hex};
|
||||
@define-color window_bg_color ${config.palette.base.hex};
|
||||
@define-color window_fg_color ${config.palette.text.hex};
|
||||
@define-color view_bg_color ${config.palette.base.hex};
|
||||
@define-color view_fg_color ${config.palette.text.hex};
|
||||
@define-color headerbar_bg_color ${config.palette.mantle.hex};
|
||||
@define-color headerbar_fg_color ${config.palette.text.hex};
|
||||
@define-color headerbar_border_color rgba(${builtins.toString config.palette.base.rgb.r}, ${builtins.toString config.palette.base.rgb.g}, ${builtins.toString config.palette.base.rgb.b}, 0.7);
|
||||
@define-color headerbar_backdrop_color @window_bg_color;
|
||||
@define-color headerbar_shade_color rgba(0, 0, 0, 0.07);
|
||||
@define-color headerbar_darker_shade_color rgba(0, 0, 0, 0.07);
|
||||
@define-color sidebar_bg_color ${config.palette.mantle.hex};
|
||||
@define-color sidebar_fg_color ${config.palette.text.hex};
|
||||
@define-color sidebar_backdrop_color @window_bg_color;
|
||||
@define-color sidebar_shade_color rgba(0, 0, 0, 0.07);
|
||||
@define-color secondary_sidebar_bg_color @sidebar_bg_color;
|
||||
@define-color secondary_sidebar_fg_color @sidebar_fg_color;
|
||||
@define-color secondary_sidebar_backdrop_color @sidebar_backdrop_color;
|
||||
@define-color secondary_sidebar_shade_color @sidebar_shade_color;
|
||||
@define-color card_bg_color ${config.palette.mantle.hex};
|
||||
@define-color card_fg_color ${config.palette.text.hex};
|
||||
@define-color card_shade_color rgba(0, 0, 0, 0.07);
|
||||
@define-color dialog_bg_color ${config.palette.mantle.hex};
|
||||
@define-color dialog_fg_color ${config.palette.text.hex};
|
||||
@define-color popover_bg_color ${config.palette.mantle.hex};
|
||||
@define-color popover_fg_color ${config.palette.text.hex};
|
||||
@define-color popover_shade_color rgba(0, 0, 0, 0.07);
|
||||
@define-color shade_color rgba(0, 0, 0, 0.07);
|
||||
@define-color scrollbar_outline_color ${config.palette.surface0.hex};
|
||||
@define-color blue_1 ${config.palette.blue.hex};
|
||||
@define-color blue_2 ${config.palette.blue.hex};
|
||||
@define-color blue_3 ${config.palette.blue.hex};
|
||||
@define-color blue_4 ${config.palette.blue.hex};
|
||||
@define-color blue_5 ${config.palette.blue.hex};
|
||||
@define-color green_1 ${config.palette.green.hex};
|
||||
@define-color green_2 ${config.palette.green.hex};
|
||||
@define-color green_3 ${config.palette.green.hex};
|
||||
@define-color green_4 ${config.palette.green.hex};
|
||||
@define-color green_5 ${config.palette.green.hex};
|
||||
@define-color yellow_1 ${config.palette.yellow.hex};
|
||||
@define-color yellow_2 ${config.palette.yellow.hex};
|
||||
@define-color yellow_3 ${config.palette.yellow.hex};
|
||||
@define-color yellow_4 ${config.palette.yellow.hex};
|
||||
@define-color yellow_5 ${config.palette.yellow.hex};
|
||||
@define-color orange_1 ${config.palette.peach.hex};
|
||||
@define-color orange_2 ${config.palette.peach.hex};
|
||||
@define-color orange_3 ${config.palette.peach.hex};
|
||||
@define-color orange_4 ${config.palette.peach.hex};
|
||||
@define-color orange_5 ${config.palette.peach.hex};
|
||||
@define-color red_1 ${config.palette.red.hex};
|
||||
@define-color red_2 ${config.palette.red.hex};
|
||||
@define-color red_3 ${config.palette.red.hex};
|
||||
@define-color red_4 ${config.palette.red.hex};
|
||||
@define-color red_5 ${config.palette.red.hex};
|
||||
@define-color purple_1 ${config.palette.mauve.hex};
|
||||
@define-color purple_2 ${config.palette.mauve.hex};
|
||||
@define-color purple_3 ${config.palette.mauve.hex};
|
||||
@define-color purple_4 ${config.palette.mauve.hex};
|
||||
@define-color purple_5 ${config.palette.mauve.hex};
|
||||
@define-color brown_1 ${config.palette.flamingo.hex};
|
||||
@define-color brown_2 ${config.palette.flamingo.hex};
|
||||
@define-color brown_3 ${config.palette.flamingo.hex};
|
||||
@define-color brown_4 ${config.palette.flamingo.hex};
|
||||
@define-color brown_5 ${config.palette.flamingo.hex};
|
||||
@define-color light_1 ${config.palette.mantle.hex};
|
||||
@define-color light_2 ${config.palette.mantle.hex};
|
||||
@define-color light_3 ${config.palette.mantle.hex};
|
||||
@define-color light_4 ${config.palette.mantle.hex};
|
||||
@define-color light_5 ${config.palette.mantle.hex};
|
||||
@define-color dark_1 ${config.palette.mantle.hex};
|
||||
@define-color dark_2 ${config.palette.mantle.hex};
|
||||
@define-color dark_3 ${config.palette.mantle.hex};
|
||||
@define-color dark_4 ${config.palette.mantle.hex};
|
||||
@define-color dark_5 ${config.palette.mantle.hex};
|
||||
'';
|
||||
};
|
||||
gtk4-vars = pkgs.writeTextFile {
|
||||
name = "gtk4-vars";
|
||||
text = ''
|
||||
:root {
|
||||
--accent-bg-color: @accent_bg_color;
|
||||
--accent-fg-color: @accent_fg_color;
|
||||
|
||||
--destructive-bg-color: @destructive_bg_color;
|
||||
--destructive-fg-color: @destructive_fg_color;
|
||||
|
||||
--success-bg-color: @success_bg_color;
|
||||
--success-fg-color: @success_fg_color;
|
||||
|
||||
--warning-bg-color: @warning_bg_color;
|
||||
--warning-fg-color: @warning_fg_color;
|
||||
|
||||
--error-bg-color: @error_bg_color;
|
||||
--error-fg-color: @error_fg_color;
|
||||
|
||||
--window-bg-color: @window_bg_color;
|
||||
--window-fg-color: @window_fg_color;
|
||||
|
||||
--view-bg-color: @view_bg_color;
|
||||
--view-fg-color: @view_fg_color;
|
||||
|
||||
--headerbar-bg-color: @headerbar_bg_color;
|
||||
--headerbar-fg-color: @headerbar_fg_color;
|
||||
--headerbar-border-color: @headerbar_border_color;
|
||||
--headerbar-backdrop-color: @headerbar_backdrop_color;
|
||||
--headerbar-shade-color: @headerbar_shade_color;
|
||||
--headerbar-darker-shade-color: @headerbar_darker_shade_color;
|
||||
|
||||
--sidebar-bg-color: @sidebar_bg_color;
|
||||
--sidebar-fg-color: @sidebar_fg_color;
|
||||
--sidebar-backdrop-color: @sidebar_backdrop_color;
|
||||
--sidebar-border-color: @sidebar_border_color;
|
||||
--sidebar-shade-color: @sidebar_shade_color;
|
||||
|
||||
--secondary-sidebar-bg-color: @secondary_sidebar_bg_color;
|
||||
--secondary-sidebar-fg-color: @secondary_sidebar_fg_color;
|
||||
--secondary-sidebar-backdrop-color: @secondary_sidebar_backdrop_color;
|
||||
--secondary-sidebar-border-color: @secondary_sidebar_border_color;
|
||||
--secondary-sidebar-shade-color: @secondary_sidebar_shade_color;
|
||||
|
||||
--card-bg-color: @card_bg_color;
|
||||
--card-fg-color: @card_fg_color;
|
||||
--card-shade-color: @card_shade_color;
|
||||
|
||||
--dialog-bg-color: @dialog_bg_color;
|
||||
--dialog-fg-color: @dialog_fg_color;
|
||||
|
||||
--popover-bg-color: @popover_bg_color;
|
||||
--popover-fg-color: @popover_fg_color;
|
||||
--popover-shade-color: @popover_shade_color;
|
||||
|
||||
--thumbnail-bg-color: @thumbnail_bg_color;
|
||||
--thumbnail-fg-color: @thumbnail_fg_color;
|
||||
|
||||
--shade-color: @shade_color;
|
||||
--scrollbar-outline-color: @scrollbar_outline_color;
|
||||
}
|
||||
'';
|
||||
};
|
||||
in {
|
||||
catppuccin = {
|
||||
enable = true;
|
||||
flavor = "frappe";
|
||||
firefox.profiles = mkForce {};
|
||||
kvantum.enable = false;
|
||||
gtk = {
|
||||
enable = true;
|
||||
enable = false;
|
||||
icon.enable = true;
|
||||
gnomeShellTheme = mkForce false;
|
||||
};
|
||||
};
|
||||
dconf.settings = mkForce { };
|
||||
gtk.enable = true;
|
||||
# https://git.gay/olivia/fur/src/branch/main/modules/home/theming/qt/default.nix
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme.name = "qtct";
|
||||
};
|
||||
xdg.configFile = {
|
||||
"qt5ct/qt5ct.conf".text = qtct;
|
||||
"qt6ct/qt6ct.conf".text = qtct;
|
||||
};
|
||||
home.packages = [
|
||||
pkgs.kdePackages.breeze
|
||||
pkgs.kdePackages.breeze-icons
|
||||
];
|
||||
dconf.settings = {
|
||||
"org/gnome/desktop/interface" = {
|
||||
color-scheme = "prefer-dark";
|
||||
};
|
||||
};
|
||||
gtk = {
|
||||
enable = true;
|
||||
theme = {
|
||||
name = "adw-gtk3-dark";
|
||||
package = pkgs.adw-gtk3;
|
||||
};
|
||||
gtk3 = {
|
||||
extraCss = ''@import url("${colors}");'';
|
||||
extraConfig = {
|
||||
gtk-application-prefer-dark-theme = 1;
|
||||
};
|
||||
};
|
||||
gtk4 = {
|
||||
extraCss = ''
|
||||
@import url("${colors}");
|
||||
@import url("${gtk4-vars}");
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ in {
|
|||
enable = true;
|
||||
syntaxHighlighting.enable = true;
|
||||
autosuggestion.enable = true;
|
||||
initExtra = let
|
||||
initContent = let
|
||||
zshOpts = [
|
||||
"auto_pushd"
|
||||
"pushd_ignore_dups"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
_: {
|
||||
programs.zsh.initExtraFirst = ''
|
||||
{ lib, ... }: {
|
||||
programs.zsh.initContent = lib.mkBefore ''
|
||||
source /etc/static/zshrc
|
||||
'';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,9 +7,6 @@
|
|||
overlays = import tree.overlays {inherit inputs tree;};
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
permittedInsecurePackages = [
|
||||
"olm-3.2.16"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -6,15 +6,17 @@
|
|||
systems = import ./systems {inherit inputs tree lib std pkgs;};
|
||||
shells = import ./shells {inherit inputs tree lib std pkgs;};
|
||||
inherit (import ./pkgs.nix {inherit inputs tree overlay;}) pkgs;
|
||||
formatter = import ./formatter.nix {inherit inputs pkgs;};
|
||||
formatting = import ./formatting.nix {inherit inputs pkgs;};
|
||||
wrappers = import ./wrappers {inherit inputs;};
|
||||
inherit (std) set;
|
||||
checks = set.map (_: deployLib: deployLib.deployChecks inputs.self.deploy) inputs.deploy-rs.lib;
|
||||
in
|
||||
{
|
||||
inherit inputs tree std pkgs formatter lib checks;
|
||||
inherit inputs tree std pkgs lib;
|
||||
legacyPackages = pkgs;
|
||||
packages = set.merge [pkgs wrappers.packages];
|
||||
checks = checks // formatting.checks;
|
||||
formatter = formatting.formatter;
|
||||
}
|
||||
// systems
|
||||
// shells
|
||||
|
|
|
|||
2
pkgs.nix
2
pkgs.nix
|
|
@ -5,7 +5,7 @@
|
|||
}: let
|
||||
overlays = import tree.overlays {inherit inputs tree;};
|
||||
in
|
||||
inputs.utils.lib.eachDefaultSystem (system: {
|
||||
inputs.flake-utils.lib.eachDefaultSystem (system: {
|
||||
pkgs = import inputs.nixpkgs {
|
||||
inherit system overlays;
|
||||
config = {
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
}: let
|
||||
inherit (std) set;
|
||||
in
|
||||
inputs.utils.lib.eachDefaultSystem (system: {
|
||||
inputs.flake-utils.lib.eachDefaultSystem (system: {
|
||||
devShells = let
|
||||
shells = set.map (_: path:
|
||||
import path {
|
||||
|
|
|
|||
|
|
@ -54,11 +54,7 @@ _: let
|
|||
#secureboot
|
||||
])
|
||||
++ (with tree.nixos.environments; [
|
||||
#sway
|
||||
#xfce
|
||||
#openbox
|
||||
hyprland
|
||||
#gnome
|
||||
niri
|
||||
]);
|
||||
config = {
|
||||
home-manager.users.kat.imports =
|
||||
|
|
@ -66,10 +62,7 @@ _: let
|
|||
graphical
|
||||
])
|
||||
++ (with tree.home.environments; [
|
||||
#xfce
|
||||
#sway
|
||||
hyprland
|
||||
#gnome
|
||||
niri
|
||||
]);
|
||||
|
||||
fileSystems = datasetEntries // {
|
||||
|
|
|
|||
8
treefmt.nix
Normal file
8
treefmt.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
{ pkgs, ... }: {
|
||||
projectRootFile = "flake.nix";
|
||||
programs = {
|
||||
alejandra.enable = true;
|
||||
terraform.enable = true;
|
||||
beautysh.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{inputs, ...} @ args:
|
||||
inputs.utils.lib.eachDefaultSystem (system: let
|
||||
inputs.flake-utils.lib.eachDefaultSystem (system: let
|
||||
newArgs = args // {inherit system;};
|
||||
in {
|
||||
packages = {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue