Cut down on a lot of flake inputs
This commit is contained in:
parent
a47be3adf9
commit
f7f80163eb
2011
flake.lock
2011
flake.lock
File diff suppressed because it is too large
Load diff
72
flake.nix
72
flake.nix
|
@ -3,29 +3,19 @@
|
|||
|
||||
# {{{ Inputs
|
||||
inputs = {
|
||||
# {{{ Nixpkgs instances
|
||||
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-23.11";
|
||||
# {{{ Nixpkgs instances
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11";
|
||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
# }}}
|
||||
# {{{ Additional package repositories
|
||||
nur.url = "github:nix-community/NUR";
|
||||
|
||||
hyprland-contrib.url = "github:hyprwm/contrib";
|
||||
hyprland-contrib.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
||||
|
||||
# Contains a bunch of wayland stuff not on nixpkgs
|
||||
nixpkgs-wayland.url = "github:nix-community/nixpkgs-wayland";
|
||||
nixpkgs-wayland.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
# Firefox addons
|
||||
firefox-addons.url = "git+https://gitlab.com/rycee/nur-expressions?dir=pkgs/firefox-addons";
|
||||
firefox-addons.inputs.nixpkgs.follows = "nixpkgs";
|
||||
# }}}
|
||||
# {{{ Nix-related tooling
|
||||
# {{{ Storage
|
||||
# {{{ Storage
|
||||
impermanence.url = "github:nix-community/impermanence";
|
||||
|
||||
# Declarative partitioning
|
||||
|
@ -43,27 +33,16 @@
|
|||
sops-nix.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
korora.url = "github:adisbladis/korora";
|
||||
|
||||
# Nix language server
|
||||
# [the docs](https://github.com/nix-community/nixd/blob/main/docs/user-guide.md#installation)
|
||||
# tell me not to override the nixpkgs input.
|
||||
nixd.url = "github:nix-community/nixd";
|
||||
# }}}
|
||||
# {{{ Standalone software
|
||||
# {{{ Nightly versions of things
|
||||
hyprland.url = "github:hyprwm/Hyprland";
|
||||
hyprland.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
# https://github.com/happenslol/wezterm/blob/add-nix-flake/nix/flake.nix
|
||||
wezterm.url = "github:happenslol/wezterm/add-nix-flake?dir=nix";
|
||||
wezterm.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay";
|
||||
neovim-nightly-overlay.inputs.nixpkgs.follows = "nixpkgs";
|
||||
# }}}
|
||||
# {{{ Self management
|
||||
# Smos
|
||||
smos.url = "github:Mateiadrielrafael/smos";
|
||||
smos.url = "github:NorfairKing/smos";
|
||||
smos.inputs.nixpkgs.url = "github:NixOS/nixpkgs/b8dd8be3c790215716e7c12b247f45ca525867e2";
|
||||
# REASON: smos fails to build this way
|
||||
# smos.inputs.nixpkgs.follows = "nixpkgs";
|
||||
# smos.inputs.home-manager.follows = "home-manager";
|
||||
|
@ -72,23 +51,11 @@
|
|||
intray.url = "github:NorfairKing/intray";
|
||||
intray.inputs.nixpkgs.url = "github:NixOS/nixpkgs/cf28ee258fd5f9a52de6b9865cdb93a1f96d09b7";
|
||||
# intray.inputs.home-manager.follows = "home-manager";
|
||||
|
||||
# Tickler
|
||||
tickler.url = "github:NorfairKing/tickler";
|
||||
tickler.inputs.nixpkgs.follows = "nixpkgs";
|
||||
tickler.inputs.intray.follows = "intray";
|
||||
# }}}
|
||||
# {{{ Anyrun
|
||||
|
||||
anyrun.url = "github:Kirottu/anyrun";
|
||||
anyrun.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
anyrun-nixos-options.url = "github:n3oney/anyrun-nixos-options";
|
||||
anyrun-nixos-options.inputs.nixpkgs.follows = "nixpkgs";
|
||||
# }}}
|
||||
|
||||
matui.url = "github:pkulak/matui";
|
||||
matui.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
# Spotify client with theming support
|
||||
spicetify-nix.url = "github:the-argus/spicetify-nix";
|
||||
spicetify-nix.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
@ -99,9 +66,9 @@
|
|||
grub2-themes.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
# Stylix
|
||||
stylix.url = "github:danth/stylix";
|
||||
stylix.inputs.nixpkgs.follows = "nixpkgs";
|
||||
stylix.inputs.home-manager.follows = "home-manager";
|
||||
stylix.url = "github:danth/stylix/a33d88cf8f75446f166f2ff4f810a389feed2d56";
|
||||
# stylix.inputs.nixpkgs.follows = "nixpkgs";
|
||||
# stylix.inputs.home-manager.follows = "home-manager";
|
||||
|
||||
# Catpuccin base16 color schemes
|
||||
catppuccin-base16.url = "github:catppuccin/base16";
|
||||
|
@ -116,7 +83,7 @@
|
|||
|
||||
outputs = { self, nixpkgs, home-manager, ... }@inputs:
|
||||
let
|
||||
# {{{ Common helpers
|
||||
# {{{ Common helpers
|
||||
inherit (self) outputs;
|
||||
forAllSystems = nixpkgs.lib.genAttrs [
|
||||
# "aarch64-linux" TODO: purescript doesn't work on this one
|
||||
|
@ -128,21 +95,20 @@
|
|||
specialArgs = system: {
|
||||
inherit inputs outputs;
|
||||
|
||||
spkgs = inputs.nixpkgs-stable.legacyPackages.${system};
|
||||
upkgs = inputs.nixpkgs-unstable.legacyPackages.${system};
|
||||
};
|
||||
# }}}
|
||||
in
|
||||
{
|
||||
# {{{ Packages
|
||||
# Acessible through 'nix build', 'nix shell', etc
|
||||
# Accessible through 'nix build', 'nix shell', etc
|
||||
packages = forAllSystems (system:
|
||||
let pkgs = nixpkgs.legacyPackages.${system};
|
||||
in import ./pkgs { inherit pkgs; }
|
||||
);
|
||||
# }}}
|
||||
# {{{ Bootstrapping and other pinned devshells
|
||||
# Acessible through 'nix develop'
|
||||
# Accessible through 'nix develop'
|
||||
devShells = forAllSystems
|
||||
(system:
|
||||
let
|
||||
|
@ -253,19 +219,17 @@
|
|||
# TODO: persist trusted substituters file
|
||||
nixConfig = {
|
||||
extra-substituters = [
|
||||
"https://nix-community.cachix.org" # I think I need this for neovim-nightly?
|
||||
"https://nixpkgs-wayland.cachix.org"
|
||||
"https://anyrun.cachix.org"
|
||||
"https://smos.cachix.org"
|
||||
"https://intray.cachix.org"
|
||||
"https://nix-community.cachix.org"
|
||||
# "https://anyrun.cachix.org"
|
||||
# "https://smos.cachix.org"
|
||||
# "https://intray.cachix.org"
|
||||
];
|
||||
|
||||
extra-trusted-public-keys = [
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
"nixpkgs-wayland.cachix.org-1:3lwxaILxMRkVhehr5StQprHdEo4IrE8sRho9R9HOLYA="
|
||||
"anyrun.cachix.org-1:pqBobmOjI7nKlsUMV25u9QHa9btJK65/C8vnO3p346s="
|
||||
"smos.cachix.org-1:YOs/tLEliRoyhx7PnNw36cw2Zvbw5R0ASZaUlpUv+yM="
|
||||
"intray.cachix.org-1:qD7I/NQLia2iy6cbzZvFuvn09iuL4AkTmHvjxrQlccQ="
|
||||
# "anyrun.cachix.org-1:pqBobmOjI7nKlsUMV25u9QHa9btJK65/C8vnO3p346s="
|
||||
# "smos.cachix.org-1:YOs/tLEliRoyhx7PnNw36cw2Zvbw5R0ASZaUlpUv+yM="
|
||||
# "intray.cachix.org-1:qD7I/NQLia2iy6cbzZvFuvn09iuL4AkTmHvjxrQlccQ="
|
||||
];
|
||||
};
|
||||
# }}}
|
||||
|
|
|
@ -22,6 +22,10 @@ in
|
|||
enable = true;
|
||||
oauth-token-file = config.sops.secrets.smos_github_token.path;
|
||||
};
|
||||
|
||||
calendar = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
# }}}
|
||||
# {{{ Storage & secrets
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
let
|
||||
themeMap = pkgs.callPackage (import ./themes.nix) { };
|
||||
|
||||
# REASON: newer discord versions don't work with the one in nixpkgs
|
||||
discocss = pkgs.discocss.overrideAttrs (old: rec {
|
||||
version = "0.3.0";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
|
|
|
@ -6,6 +6,7 @@ local conds = require("luasnip.extras.expand_conditions")
|
|||
local t = ls.text_node
|
||||
local i = ls.insert_node
|
||||
local d = ls.dynamic_node
|
||||
local c = ls.choice_node
|
||||
local f = ls.function_node
|
||||
local sn = ls.snippet_node
|
||||
local fmt = require("luasnip.extras.fmt").fmt
|
||||
|
|
|
@ -3,12 +3,12 @@ let
|
|||
# Toggles for including tooling related to a given language
|
||||
packedTargets = {
|
||||
elm = false;
|
||||
latex = true;
|
||||
latex = false;
|
||||
lua = true;
|
||||
nix = true;
|
||||
purescript = false;
|
||||
python = true;
|
||||
rust = true;
|
||||
python = false;
|
||||
rust = false;
|
||||
typst = true;
|
||||
web = true;
|
||||
};
|
||||
|
@ -895,6 +895,18 @@ let
|
|||
'';
|
||||
desc = "Jump to previous snippet tabstop";
|
||||
}
|
||||
{
|
||||
mode = "is";
|
||||
mapping = "<c-a>";
|
||||
action = "<Plug>luasnip-prev-choice";
|
||||
desc = "Previous snippet node choice";
|
||||
}
|
||||
{
|
||||
mode = "is";
|
||||
mapping = "<c-f>";
|
||||
action = "<Plug>luasnip-next-choice";
|
||||
desc = "Next snippet node choice";
|
||||
}
|
||||
];
|
||||
# }}}
|
||||
};
|
||||
|
@ -917,7 +929,7 @@ let
|
|||
optionals nix [
|
||||
pkgs.rnix-lsp
|
||||
pkgs.nil
|
||||
inputs.nixd.packages.${pkgs.system}.nixd
|
||||
pkgs.nixd
|
||||
] ++
|
||||
optionals latex [
|
||||
pkgs.texlab
|
||||
|
|
|
@ -49,9 +49,9 @@
|
|||
# {{{ Nodejs
|
||||
satellite.persistence.at.cache.apps.nodejs = {
|
||||
files = [
|
||||
".yarnrc" # auto-generated by yarn
|
||||
# ".yarnrc" # auto-generated by yarn
|
||||
".node_repl_history"
|
||||
".ts_node_repl_history"
|
||||
# ".ts_node_repl_history"
|
||||
];
|
||||
|
||||
directories = [
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
stdin
|
||||
# symbols # Looks ugly atm
|
||||
# websearch
|
||||
# inputs.anyrun-nixos-options.packages.${pkgs.system}.default # Idk how to set this up :(
|
||||
];
|
||||
# }}}
|
||||
# {{{ Geometry
|
||||
|
@ -83,11 +82,4 @@
|
|||
/* }}} */
|
||||
'';
|
||||
};
|
||||
|
||||
# # See [the readme](https://github.com/n3oney/anyrun-nixos-options) for anyrun-nixos-options.
|
||||
# programs.anyrun.extraConfigFiles."nixos-options.ron".text = ''
|
||||
# Config(
|
||||
# options_path: "${config.system.build.manual.optionsJSON}/share/doc/nixos/options.json"
|
||||
# )
|
||||
# '';
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Common wayland stuff
|
||||
{ lib, pkgs, inputs, ... }: {
|
||||
{ lib, pkgs, ... }: {
|
||||
imports = [
|
||||
./wlsunset.nix
|
||||
./wlogout.nix
|
||||
|
@ -44,6 +44,6 @@
|
|||
wl-qr # Custom qr scanner script
|
||||
wl-clipboard # Clipboard manager
|
||||
hyprpicker # Color picker
|
||||
inputs.hyprland-contrib.packages.${pkgs.system}.grimblast # Screenshot tool
|
||||
grimblast # Screenshot tool
|
||||
];
|
||||
}
|
||||
|
|
|
@ -4,7 +4,6 @@ let
|
|||
imports = [
|
||||
# {{{ flake inputs
|
||||
inputs.stylix.homeManagerModules.stylix
|
||||
inputs.nur.nixosModules.nur
|
||||
inputs.impermanence.nixosModules.home-manager.impermanence
|
||||
inputs.spicetify-nix.homeManagerModules.spicetify
|
||||
inputs.anyrun.homeManagerModules.default
|
||||
|
@ -42,6 +41,7 @@ in
|
|||
|
||||
config.permittedInsecurePackages = [
|
||||
"electron-25.9.0"
|
||||
"nix-2.15.3"
|
||||
];
|
||||
};
|
||||
# }}}
|
||||
|
|
|
@ -22,7 +22,6 @@
|
|||
# signal-desktop # Signal client
|
||||
element-desktop # Matrix client
|
||||
# zoom-us # Zoom client 🤮
|
||||
# inputs.matui.packages.${pkgs.system}.matui # Matrix TUi
|
||||
# }}}
|
||||
# {{{ Editors for different formats
|
||||
# gimp # Image editing
|
||||
|
@ -42,7 +41,7 @@
|
|||
obsidian # Note-taking
|
||||
bitwarden # Password-manager
|
||||
# plover.dev # steno engine
|
||||
# qbittorrent # Torrent client
|
||||
qbittorrent # Torrent client
|
||||
# google-chrome # Not my primary browser, but sometimes needed in webdev
|
||||
# }}}
|
||||
# {{{ Media playing/recording
|
||||
|
|
|
@ -4,10 +4,8 @@ let
|
|||
# {{{ Imports
|
||||
imports = [
|
||||
# {{{ flake inputs
|
||||
# inputs.hyprland.nixosModules.default
|
||||
inputs.disko.nixosModules.default
|
||||
inputs.stylix.nixosModules.stylix
|
||||
inputs.nur.nixosModules.nur
|
||||
inputs.sops-nix.nixosModules.sops
|
||||
# }}}
|
||||
# {{{ global configuration
|
||||
|
|
|
@ -31,5 +31,16 @@
|
|||
automatic_instance_redirect = true;
|
||||
};
|
||||
};
|
||||
|
||||
# REASON: the current invidious is broken, and cannot play videos
|
||||
packages = prev.invidious.overrideAttrs (_oldAttrs: {
|
||||
src = prev.fetchFromGitHub {
|
||||
owner = "iv-org";
|
||||
repo = "invidious";
|
||||
fetchSubmodules = true;
|
||||
rev = "08390acd0c17875fddb84cabba54197a5b5740e4";
|
||||
sha256 = "sha256-75C/ImX/PYikVdSO4rZM/aYyEgx6pU90BHNeRFfcsDM=";
|
||||
};
|
||||
});
|
||||
};
|
||||
}
|
||||
|
|
54
modules/home-manager/compat/bemenu.nix
Normal file
54
modules/home-manager/compat/bemenu.nix
Normal file
|
@ -0,0 +1,54 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
|
||||
cfg = config.programs.bemenu;
|
||||
|
||||
in
|
||||
{
|
||||
meta.maintainers = [ hm.maintainers.omernaveedxyz ];
|
||||
|
||||
options.programs.bemenu = {
|
||||
enable = mkEnableOption "bemenu";
|
||||
|
||||
package = mkPackageOption pkgs "bemenu" { };
|
||||
|
||||
settings = mkOption {
|
||||
type = with types; attrsOf (oneOf [ str number bool ]);
|
||||
default = { };
|
||||
example = literalExpression ''
|
||||
{
|
||||
line-height = 28;
|
||||
prompt = "open";
|
||||
ignorecase = true;
|
||||
fb = "#1e1e2e";
|
||||
ff = "#cdd6f4";
|
||||
nb = "#1e1e2e";
|
||||
nf = "#cdd6f4";
|
||||
tb = "#1e1e2e";
|
||||
hb = "#1e1e2e";
|
||||
tf = "#f38ba8";
|
||||
hf = "#f9e2af";
|
||||
af = "#cdd6f4";
|
||||
ab = "#1e1e2e";
|
||||
width-factor = 0.3;
|
||||
}
|
||||
'';
|
||||
description =
|
||||
"Configuration options for bemenu. See {manpage}`bemenu(1)`.";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
assertions =
|
||||
[ (hm.assertions.assertPlatform "programs.bemenu" pkgs platforms.linux) ];
|
||||
|
||||
home.packages = [ cfg.package ];
|
||||
|
||||
home.sessionVariables = mkIf (cfg.settings != { }) {
|
||||
BEMENU_OPTS = cli.toGNUCommandLineShell { } cfg.settings;
|
||||
};
|
||||
};
|
||||
}
|
28
modules/home-manager/compat/k9s.nix
Normal file
28
modules/home-manager/compat/k9s.nix
Normal file
|
@ -0,0 +1,28 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
yamlFormat = pkgs.formats.yaml { };
|
||||
|
||||
in {
|
||||
options.programs.k9s = {
|
||||
skins = mkOption {
|
||||
type = types.attrsOf yamlFormat.type;
|
||||
default = { };
|
||||
description = ''
|
||||
Skin files written to {file}`$XDG_CONFIG_HOME/k9s/skins/`. See
|
||||
<https://k9scli.io/topics/skins/> for supported values.
|
||||
'';
|
||||
example = literalExpression ''
|
||||
my_blue_skin = {
|
||||
k9s = {
|
||||
body = {
|
||||
fgColor = "dodgerblue";
|
||||
};
|
||||
};
|
||||
};
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
|
@ -3,6 +3,9 @@
|
|||
{
|
||||
# example = import ./example.nix;
|
||||
|
||||
bemenu = import ./compat/bemenu.nix;
|
||||
k9s = import ./compat/k9s.nix;
|
||||
|
||||
# Personal things
|
||||
firefox = import ./firefox;
|
||||
monitors = import ./monitors.nix;
|
||||
|
|
Loading…
Reference in a new issue