1
Fork 0

Cut down on a lot of flake inputs

This commit is contained in:
prescientmoon 2024-04-01 05:57:56 +02:00
parent a47be3adf9
commit f7f80163eb
Signed by: prescientmoon
SSH key fingerprint: SHA256:UUF9JT2s8Xfyv76b8ZuVL7XrmimH4o49p4b+iexbVH4
16 changed files with 459 additions and 1769 deletions

2011
flake.lock

File diff suppressed because it is too large Load diff

View file

@ -4,22 +4,12 @@
# {{{ Inputs
inputs = {
# {{{ Nixpkgs instances
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-23.11";
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";
@ -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";
@ -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="
];
};
# }}}

View file

@ -22,6 +22,10 @@ in
enable = true;
oauth-token-file = config.sops.secrets.smos_github_token.path;
};
calendar = {
enable = true;
};
};
# }}}
# {{{ Storage & secrets

View file

@ -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 {

View file

@ -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

View file

@ -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

View file

@ -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 = [

View file

@ -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"
# )
# '';
}

View file

@ -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
];
}

View file

@ -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"
];
};
# }}}

View file

@ -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

View file

@ -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

View file

@ -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=";
};
});
};
}

View 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;
};
};
}

View 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";
};
};
};
'';
};
};
}

View file

@ -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;