1
Fork 0

Move to nixos-23.11

This commit is contained in:
Matei Adriel 2023-12-10 12:55:54 +01:00
parent 659fb33ca7
commit 38a7932c2c
No known key found for this signature in database
25 changed files with 1001 additions and 543 deletions

View file

@ -1,17 +1,28 @@
{ pkgs, ... }: {
stylix.fonts = {
# monospace = {
# name = "Cascadia Code";
# package = pkgs.cascadia-code;
# };
monospace = {
name = "FiraCode Nerd Font";
package = pkgs.nerdfonts.override { fonts = [ "FiraCode" ]; };
name = "Iosevka";
package = pkgs.iosevka;
};
sansSerif = {
name = "Fira Sans";
package = pkgs.fira;
name = "CMUSansSerif";
package = pkgs.cm_unicode;
};
serif = {
name = "CMUSerif-Roman";
package = pkgs.cm_unicode;
};
# Why would you not want sansSerif
# (that's what I used to think, but I somewhat changed my mind)
# (that's what I used to think, but I have since changed my mind)
# serif = sansSerif;
};
}

1035
flake.lock

File diff suppressed because it is too large Load diff

View file

@ -4,10 +4,12 @@
# {{{ Inputs
inputs = {
# Nixpkgs
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
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";
# Home manager
home-manager.url = "github:nix-community/home-manager";
home-manager.url = "github:nix-community/home-manager/release-23.11";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
# NUR
@ -57,7 +59,7 @@
hyprland.url = "github:hyprwm/Hyprland";
hyprland.inputs.nixpkgs.follows = "nixpkgs";
# Hyprland (available in nix unstable only atm)
# Hyprland-contrib
hyprland-contrib.url = "github:hyprwm/contrib";
hyprland-contrib.inputs.nixpkgs.follows = "nixpkgs";
@ -101,6 +103,11 @@
matui.url = "github:pkulak/matui";
matui.inputs.nixpkgs.follows = "nixpkgs";
# Wezterm nightly
# 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";
# {{{ Self management
# Smos
smos.url = "github:NorfairKing/smos";
@ -134,6 +141,9 @@
specialArgs = system: {
inherit inputs outputs;
spkgs = inputs.nixpkgs-stable.legacyPackages.${system};
upkgs = inputs.nixpkgs-unstable.legacyPackages.${system};
};
# }}}
in
@ -142,7 +152,22 @@
# Acessible through 'nix build', 'nix shell', etc
packages = forAllSystems (system:
let pkgs = nixpkgs.legacyPackages.${system};
in import ./pkgs { inherit pkgs; }
in import ./pkgs { inherit pkgs; } // {
nix-tree = (pkgs.nix-tree.overrideAttrs (oldAttrs: {
patches =
(oldAttrs.patches or [])
++ [
(pkgs.fetchpatch {
url = "https://github.com/utdemir/nix-tree/pull/68.patch";
hash = "sha256-70Xo88ZWzWUYM0qxbW64kYaVwHaYkS2dQWmBGCkL0oA=";
})
(pkgs.fetchpatch {
url = "https://github.com/utdemir/nix-tree/pull/69.patch";
hash = "sha256-8LdOKU2pc0tojmquCEqjnovkG3hD7YdTQoC4WSawdAQ=";
})
];
}));
}
);
# }}}
# {{{ Bootstrapping and other pinned devshells
@ -233,6 +258,18 @@
};
in
{
nixd = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages."x86_64-linux";
modules = [
({ lib, config, ... }: {
home = {
username = "adrielus";
homeDirectory = "/home/${config.home.username}";
stateVersion = "23.05";
};
})
];
};
"adrielus@tethys" = mkHomeConfig {
system = "x86_64-linux";
hostname = "tethys";

View file

@ -2,10 +2,20 @@
let
spicePkgs = inputs.spicetify-nix.packages.${pkgs.system}.default;
themeMap = lib.fix (self: {
"Catppuccin Mocha" = spicePkgs.themes.catppuccin-mocha;
"Catppuccin Latte" = spicePkgs.themes.catppuccin-latte;
"Catppuccin Frappe" = spicePkgs.themes.catppuccin-frappe;
"Catppuccin Macchiato" = spicePkgs.themes.catppuccin-macchiato;
"Catppuccin Mocha" = spicePkgs.themes.catppuccin;
"Catppuccin Latte" = spicePkgs.themes.catppuccin;
"Catppuccin Frappe" = spicePkgs.themes.catppuccin;
"Catppuccin Macchiato" = spicePkgs.themes.catppuccin;
default.light = self."Catppuccin Latte";
default.dark = self."Catppuccin Macchiato";
});
colorschemeMap = lib.fix (self: {
"Catppuccin Mocha" = "mocha";
"Catppuccin Latte" = "latte";
"Catppuccin Frappe" = "frappe";
"Catppuccin Macchiato" = "macchiato";
default.light = self."Catppuccin Latte";
default.dark = self."Catppuccin Macchiato";
@ -16,6 +26,7 @@ in
enable = true;
theme = config.satellite.theming.get themeMap;
colorScheme = config.satellite.theming.get colorschemeMap;
enabledExtensions = with spicePkgs.extensions; [
fullAppDisplayMod

View file

@ -1,5 +1,6 @@
{ pkgs, config, ... }: {
home.packages = [ pkgs.wezterm ];
{ inputs, pkgs, config, ... }: {
# REASON: the unstable version crashes on launch
home.packages = [ inputs.wezterm.packages.${pkgs.system}.default ];
# Create link to config
xdg.configFile."wezterm/colorscheme.lua".text = config.satellite.colorscheme.lua;

View file

@ -57,6 +57,7 @@ config.window_background_opacity = colorscheme.transparency.value
-- }}}
-- {{{ Main config options
config.automatically_reload_config = true
config.check_for_updates = false
-- {{{ Fonts
config.adjust_window_size_when_changing_font_size = false -- Makes it work with fixed window sizes.

View file

@ -1,79 +1,87 @@
{
"LuaSnip": { "branch": "master", "commit": "409535b8fc54c650eb845b0c35e0cc7f08810284" },
"alpha-nvim": { "branch": "main", "commit": "63a860e7ed3ae41ee92481ea65a48fb35431ae21" },
"catppuccin": { "branch": "main", "commit": "490078b1593c6609e6a50ad5001e7902ea601824" },
"LuaSnip": { "branch": "master", "commit": "118263867197a111717b5f13d954cd1ab8124387" },
"alpha-nvim": { "branch": "main", "commit": "29074eeb869a6cbac9ce1fbbd04f5f5940311b32" },
"catppuccin": { "branch": "main", "commit": "64dc309bc157779691be38bbfc5123584e0a4a85" },
"clipboard-image": { "branch": "main", "commit": "485de5493d196154db30f85665f8ac480ce116a2" },
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
"cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" },
"cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" },
"cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" },
"conform": { "branch": "master", "commit": "5bf1405fd234d469243ea6f394e0aeec9ea53bd8" },
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
"conform": { "branch": "master", "commit": "48bc9996ebfe90e7766f46338360f75fd6ecb174" },
"crates": { "branch": "main", "commit": "b8ea20fda2e1029fbbb1bae7a9eab35c84037ca0" },
"dhall-vim": { "branch": "master", "commit": "68500ef46ff3706f46c99db3be7a0c8abcf6a3ae" },
"dressing.nvim": { "branch": "master", "commit": "6bde51adabba06f7fd4a469885a85f36d78a5f52" },
"discord-rich-presence": { "branch": "main", "commit": "87c857a56b7703f976d3a5ef15967d80508df6e6" },
"dressing.nvim": { "branch": "master", "commit": "8b7ae53d7f04f33be3439a441db8071c96092d19" },
"femaco": { "branch": "main", "commit": "6af458f0196215f397db31a6e1fb2df795811693" },
"fidget.nvim": { "branch": "main", "commit": "0ba1e16d07627532b6cae915cc992ecac249fb97" },
"flash": { "branch": "main", "commit": "48817af25f51c0590653bbc290866e4890fe1cbe" },
"ftft": { "branch": "master", "commit": "09a72f9adf8ee7c824c517ef8408c9e687453039" },
"github-actions-yaml.vim": { "branch": "master", "commit": "f2f16243447cea174daa6b4a9ffd3ff9213814ef" },
"gitlinker": { "branch": "master", "commit": "cc59f732f3d043b626c8702cb725c82e54d35c25" },
"gitlinker.nvim": { "branch": "master", "commit": "cc59f732f3d043b626c8702cb725c82e54d35c25" },
"gitsigns.nvim": { "branch": "main", "commit": "af0f583cd35286dd6f0e3ed52622728703237e50" },
"harpoon": { "branch": "master", "commit": "21f4c47c6803d64ddb934a5b314dcb1b8e7365dc" },
"gitsigns.nvim": { "branch": "main", "commit": "87640f5a877b18bdd49884dbcac220fed924b867" },
"harpoon": { "branch": "master", "commit": "867e212ac153e793f95b316d1731f3ca1894625e" },
"haskell-tools": { "branch": "master", "commit": "92e097c6832405fb64e4c44a7ce8bebe7836cae6" },
"hydra.nvim": { "branch": "master", "commit": "3ced42c0b6a6c85583ff0f221635a7f4c1ab0dd0" },
"hyprland-vim-syntax": { "branch": "main", "commit": "8488a24b50882da969979103b4d668c70e7995b9" },
"idris2-nvim": { "branch": "main", "commit": "3a2b4d2b5ffeab9e47298456c59c31b4e1ddebc9" },
"inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" },
"idris2-nvim": { "branch": "main", "commit": "8bff02984a33264437e70fd9fff4359679d910da" },
"inc-rename.nvim": { "branch": "main", "commit": "a48c7cec5c4f00d7438dce5fadb55f4d715ef9f2" },
"indent-blankline": { "branch": "master", "commit": "7206c77cb931f79885fc47f88ae18f99148392eb" },
"iron.nvim": { "branch": "master", "commit": "7f876ee3e1f4ea1e5284b1b697cdad5b256e8046" },
"kmonad-vim": { "branch": "master", "commit": "37978445197ab00edeb5b731e9ca90c2b141723f" },
"kotlin-vim": { "branch": "master", "commit": "53fe045906df8eeb07cb77b078fc93acda6c90b8" },
"lazy.nvim": { "branch": "main", "commit": "dac844ed617dda4f9ec85eb88e9629ad2add5e05" },
"lean.nvim": { "branch": "main", "commit": "67580fab5bed73920fa3fdd712fc8e805c389c3d" },
"lastplace": { "branch": "main", "commit": "0bb6103c506315044872e0f84b1f736c4172bb20" },
"lazy.nvim": { "branch": "main", "commit": "96584866b9c5e998cbae300594d0ccfd0c464627" },
"lean.nvim": { "branch": "main", "commit": "360908674890f3bd92eb41c5b362510dca8fc4cb" },
"live-command.nvim": { "branch": "main", "commit": "d460067d47948725a6f25b20f31ea8bbfdfe4622" },
"lspkind.nvim": { "branch": "master", "commit": "57610d5ab560c073c465d6faf0c19f200cb67e6e" },
"lualine": { "branch": "master", "commit": "2248ef254d0a1488a72041cfb45ca9caada6d994" },
"magma-nvim": { "branch": "main", "commit": "ff3deba8a879806a51c005e50782130246143d06" },
"mini.files": { "branch": "main", "commit": "dea80a8147aa4e3025c34d2e2aaa6f2aeb7b21dd" },
"mini.operators": { "branch": "main", "commit": "15f137f28412517e2248d39cf0663bd3a87aa24a" },
"mini.surround": { "branch": "main", "commit": "9d1956b576d7051da3a483b251dfc778121c60db" },
"mini.comment": { "branch": "main", "commit": "3d9c8009615857e982f09bc5357fc95f2a2175f3" },
"mini.files": { "branch": "main", "commit": "173d73f5d0b2a9abbb2d6533a3770fdbbd0c4dcc" },
"mini.operators": { "branch": "main", "commit": "7a97e2528a4c274e9da8953d3ba22f493c360a9f" },
"mini.surround": { "branch": "main", "commit": "af8129efcabe95fc08a233e9f91569829bed031f" },
"neoconf": { "branch": "main", "commit": "64437787dba70fce50dad7bfbb97d184c5bc340f" },
"neoconf.nvim": { "branch": "main", "commit": "08f146d53e075055500dca35e93281faff95716b" },
"neodev.nvim": { "branch": "main", "commit": "9a5c0f0de5c15fba52d4fb83d425d3f4fa7abfa1" },
"neogit": { "branch": "master", "commit": "e4c428239928425829cb5247e430f26d25d5788e" },
"neorg": { "branch": "main", "commit": "f296a22864bbac0d94ad00fa18cc8231dbeaa1e3" },
"neorg-telescope": { "branch": "main", "commit": "1310d4aaefd8149c9839bbe1d5610e94389e2f0e" },
"nui.nvim": { "branch": "main", "commit": "9e3916e784660f55f47daa6f26053ad044db5d6a" },
"neoconf.nvim": { "branch": "main", "commit": "64437787dba70fce50dad7bfbb97d184c5bc340f" },
"neodev.nvim": { "branch": "main", "commit": "c4ce017bd4bacf60bf59330cec9e93c5d5e104a6" },
"neogit": { "branch": "master", "commit": "761e9be2aa7cc4c8ca87f10c8c37108a687b928e" },
"neorg": { "branch": "main", "commit": "baaf13a3145534144b795ad37db22bfffd2ad343" },
"neorg-telescope": { "branch": "main", "commit": "6a7a677c40fa3c348924a4e2a06a513e0b34c056" },
"nui": { "branch": "main", "commit": "c9b4de623d19a85b353ff70d2ae9c77143abe69c" },
"null-ls.nvim": { "branch": "main", "commit": "0010ea927ab7c09ef0ce9bf28c2b573fc302f5a7" },
"nvim-autopairs": { "branch": "master", "commit": "ae5b41ce880a6d850055e262d6dfebd362bb276e" },
"nvim-cmp": { "branch": "main", "commit": "51f1e11a89ec701221877532ee1a23557d291dd5" },
"nvim-comment": { "branch": "main", "commit": "e9ac16ab056695cad6461173693069ec070d2b23" },
"nvim-lspconfig": { "branch": "master", "commit": "a981d4447b92c54a4d464eb1a76b799bc3f9a771" },
"nvim-autopairs": { "branch": "master", "commit": "0f04d78619cce9a5af4f355968040f7d675854a1" },
"nvim-cmp": { "branch": "main", "commit": "0b751f6beef40fd47375eaf53d3057e0bfa317e4" },
"nvim-lspconfig": { "branch": "master", "commit": "511609ae0311abfcfaed3c398429a147e895ce2c" },
"nvim-tree": { "branch": "master", "commit": "7d1760f892951dd6a118dae1d7a1d8df5f029edf" },
"nvim-treesitter": { "branch": "master", "commit": "0791b5ebb590a2d44e20640c52679df1fc42e8ab" },
"nvim-treesitter-context": { "branch": "master", "commit": "a17c31268b56d53624fdc9cb03a225d4a17cabdb" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "9e519b6146512c8e2e702faf8ac48420f4f5deec" },
"nvim-web-devicons": { "branch": "master", "commit": "ab899311f8ae00a47eae8e0879506cead8eb1561" },
"nvim_context_vt": { "branch": "master", "commit": "f44f46ecad6e6983fd04dac84c5a5c03815d3427" },
"paperplanes.nvim": { "branch": "master", "commit": "d704b2e1e594b32d454cc7e0c5f2cf9b391e3cc1" },
"plenary.nvim": { "branch": "master", "commit": "267282a9ce242bbb0c5dc31445b6d353bed978bb" },
"presence.nvim": { "branch": "main", "commit": "87c857a56b7703f976d3a5ef15967d80508df6e6" },
"nvim-treesitter": { "branch": "master", "commit": "180e1ca385442e35e1d18420221a148c5e045671" },
"nvim-treesitter-context": { "branch": "master", "commit": "cfa8ee19ac9bae9b7fb2958eabe2b45b70c56ccb" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "ec1c5bdb3d87ac971749fa6c7dbc2b14884f1f6a" },
"nvim-web-devicons": { "branch": "master", "commit": "5efb8bd06841f91f97c90e16de85e96d57e9c862" },
"nvim_context_vt": { "branch": "master", "commit": "a14f9292b4bd68ceed433fc513f287641816dc6d" },
"paperlanes": { "branch": "master", "commit": "bd52c54c36ad2e9ac563ae1c6a4f6ed1f5faacd2" },
"plenary": { "branch": "master", "commit": "55d9fe89e33efd26f532ef20223e5f9430c8b0c0" },
"plenary.nvim": { "branch": "master", "commit": "55d9fe89e33efd26f532ef20223e5f9430c8b0c0" },
"purescript-vim": { "branch": "main", "commit": "82348352e6568fcc0385bd7c99a8ead3a479feea" },
"rasi.vim": { "branch": "main", "commit": "eac9969cf935cd4380987dc99bfa10d69d3f34a6" },
"rust-tools": { "branch": "master", "commit": "0cc8adab23117783a0292a0c8a2fbed1005dc645" },
"rust-tools.nvim": { "branch": "master", "commit": "0cc8adab23117783a0292a0c8a2fbed1005dc645" },
"scrap.nvim": { "branch": "main", "commit": "16db44ae9403ec9c4b140394f294475d1af80a18" },
"smart-splits.nvim": { "branch": "master", "commit": "7aad6019dee974a01333523a5b8e122b7e7da454" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "9bc8237565ded606e6c366a71c64c0af25cd7a50" },
"telescope.nvim": { "branch": "master", "commit": "776b509f80dd49d8205b9b0d94485568236d1192" },
"typst.vim": { "branch": "main", "commit": "6a99324a138c2da69589a8ab2e49375774e43d77" },
"undotree": { "branch": "master", "commit": "0e11ba7325efbbb3f3bebe06213afa3e7ec75131" },
"venn.nvim": { "branch": "main", "commit": "c114563960b8fb1197695d42798d1f3e7190b798" },
"scrap.nvim": { "branch": "main", "commit": "0f833d8dccaabe49c1ed7a2b24cfd887d9d5003f" },
"smart-splits.nvim": { "branch": "master", "commit": "c970c7a3cc7ba635fd73d43c81b40f04c00f5058" },
"ssr": { "branch": "main", "commit": "bb323ba621ac647b4ac5638b47666e3ef3c279e1" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" },
"telescope.nvim": { "branch": "master", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" },
"typst.vim": { "branch": "main", "commit": "5b11b42de1703838ca1bb31dc66e73c002698e49" },
"undotree": { "branch": "master", "commit": "36ff7abb6b60980338344982ad4cdf03f7961ecd" },
"venn.nvim": { "branch": "main", "commit": "e4d68341a73dd56c64955058821a58295fb337b1" },
"vim-sleuth": { "branch": "master", "commit": "1cc4557420f215d02c4d2645a748a816c220e99b" },
"vim-teal": { "branch": "master", "commit": "d2aa107b257879e774680792a2aebaf9cd5742e0" },
"vim-tmux-navigator": { "branch": "master", "commit": "cdd66d6a37d991bba7997d593586fc51a5b37aa8" },
"vim-wakatime": { "branch": "master", "commit": "018fa9a80c27ccf2a8967b9e27890372e5c2fb4f" },
"vim-tmux-navigator": { "branch": "master", "commit": "7db70e08ea03b3e4d91f63713d76134512e28d7e" },
"vimux": { "branch": "master", "commit": "616fcb4799674a7a809b14ca2dc155bb6ba25788" },
"which-key.nvim": { "branch": "main", "commit": "7ccf476ebe0445a741b64e36c78a682c1c6118b7" },
"wakatime": { "branch": "master", "commit": "8c8856327815a077cbebeba8c7456312a3d2c39c" },
"web-devicons": { "branch": "master", "commit": "5efb8bd06841f91f97c90e16de85e96d57e9c862" },
"which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" },
"winbar": { "branch": "main", "commit": "13739fdb31be51a1000486189662596f07a59a31" },
"yuck.vim": { "branch": "master", "commit": "9b5e0370f70cc30383e1dabd6c215475915fe5c3" }
}

View file

@ -89,7 +89,7 @@ function M.setup()
-- In the future, I might get this on my keyboard firmware.
vim.keymap.set({ "i", "v" }, "<f10>", "<Esc>", { desc = "Exit insert mode" }) -- Exit inset mode using *jk*
vim.keymap.set({ "n", "v" }, "<f11>", '"+', { desc = "Use global clipboard" }) -- Use global clipboard with *cp*
M.nmap("<f12>", ":silent write<cr>", "Save current file") -- Save using *ji*
M.nmap("<f12>", "<cmd>silent write<cr>", "Save current file", true) -- Save using *ji*
-- }}}
-- {{{ Shift-Enter for not continuing the current comment
-- This does not preserve intendation. Not sure what a better solution would look like.

View file

@ -95,14 +95,6 @@ return {
end,
},
-- Helper libs
{
"nvim-lua/plenary.nvim",
-- Autoload when running tests
cmd = { "PlenaryBustedDirectory", "PlenaryBustedFile" },
},
"MunifTanjim/nui.nvim",
"nvim-tree/nvim-web-devicons", -- nice looking icons
{
"mateiadrielrafael/scrap.nvim",
event = "InsertEnter",
@ -111,14 +103,6 @@ return {
end,
}, -- vim-abolish rewrite
{
"terrortylor/nvim-comment",
keys = { "gc", "gcc", { "gc", mode = "v" } },
config = function()
require("nvim_comment").setup()
end,
},
{
-- easly switch between tmux and vim panes
"christoomey/vim-tmux-navigator",
@ -128,13 +112,6 @@ return {
and env.firenvim.not_active(),
},
{
-- track time usage
"wakatime/vim-wakatime",
event = "VeryLazy",
cond = env.vscode.not_active() and env.firenvim.not_active(),
},
{
-- show progress for lsp stuff
"j-hui/fidget.nvim",
@ -144,15 +121,6 @@ return {
config = true,
},
{
-- export to pastebin like services
"rktjmp/paperplanes.nvim",
opts = {
provider = "paste.rs",
},
cmd = "PP",
},
{
-- case switching + the subvert command
"tpope/vim-abolish",
@ -187,16 +155,6 @@ return {
keys = "<leader>yg",
},
{
-- discord rich presence
"andweeb/presence.nvim",
cond = env.vscode.not_active() and env.firenvim.not_active(),
config = function()
require("presence"):setup()
end,
event = "VeryLazy",
},
-- Live command preview for stuff like :norm
{
"smjonas/live-command.nvim",
@ -210,16 +168,4 @@ return {
event = "VeryLazy",
-- cond = false,
},
{
"mbbill/undotree",
cmd = "UndotreeToggle",
init = function()
vim.keymap.set(
"n",
"<leader>u",
"<cmd>UndotreeToggle<cr>",
{ desc = "[U]ndo tree" }
)
end,
},
}

View file

@ -2,6 +2,7 @@ local env = require("my.helpers.env")
local M = {
"L3MON4D3/LuaSnip", -- snippeting engine
version = "v2",
cond = env.vscode.not_active(),
}

View file

@ -3,8 +3,7 @@ local env = require("my.helpers.env")
local M = {
"echasnovski/mini.files",
version = "main",
event = "VeryLazy",
keys = { "<C-S-F>" },
cond = env.vscode.not_active() and env.firenvim.not_active(),
}

View file

@ -1,6 +1,5 @@
local M = {
"echasnovski/mini.operators",
version = false,
event = "VeryLazy",
opts = {},
}

View file

@ -1,6 +1,5 @@
local M = {
"echasnovski/mini.surround",
version = "main",
event = "VeryLazy",
}

View file

@ -68,8 +68,7 @@ end
-- {{{ Main config runtime
local function recursive_assign(source, destination)
for key, value in pairs(source) do
if type(value) == "table" then
destination[key] = destination[key] or {}
if type(value) == "table" and type(destination[key]) == "table" then
recursive_assign(value, destination[key])
else
destination[key] = value
@ -79,7 +78,7 @@ end
function M.configure(opts, context)
if type(opts.vim) == "table" then
recursive_assign(opts, vim)
recursive_assign(opts.vim, vim)
end
if type(opts.keys) == "table" then
@ -117,10 +116,14 @@ function M.configure(opts, context)
if
type(context) == "table"
and context.opts ~= nil
and vim.inspect(context.opts) ~= "{}"
and context.lazy ~= nil
then
-- This is a terrible way to do it :/
require(context.lazy.name).setup(context.opts)
local status, module = pcall(require, context.lazy.name)
if status then
module.setup(context.opts)
end
end
if type(opts.callback) == "function" then

View file

@ -10,23 +10,23 @@ let
rnix-lsp # nix
nil # nix
inputs.nixd.packages.${system}.nixd # nix
haskell-language-server # haskell
# haskell-language-server # haskell
# REASON: marked as broken
# dhall-lsp-server # dhall
tectonic # something related to latex (?)
# tectonic # something related to latex (?)
texlab # latex
nodePackages_latest.vscode-langservers-extracted # web stuff
python310Packages.python-lsp-server # python
pyright # python
# python310Packages.python-lsp-server # python
# pyright # python
rust-analyzer # rust
typst-lsp # typst
# Formatters
luaformatter # Lua
# luaformatter # Lua
stylua # Lua
black # Python
yapf # Python
isort # Reorder python imports
# black # Python
# yapf # Python
# isort # Reorder python imports
nodePackages_latest.purs-tidy # Purescript
nodePackages_latest.prettier # Js & friends
nodePackages_latest.prettier_d_slim # Js & friends
@ -34,7 +34,7 @@ let
# Linters
ruff # Python linter
mypy # Python typechecking
# mypy # Python typechecking
# Languages
nodePackages.typescript # typescript
@ -48,20 +48,20 @@ let
update-nix-fetchgit # Useful for nix stuff
tree-sitter # Syntax highlighting
libstdcxx5 # Required by treesitter aparently
python310Packages.jupytext # Convert between jupyter notebooks and python files
graphviz # For rust crate graph
# python310Packages.jupytext # Convert between jupyter notebooks and python files
# graphviz # For rust crate graph
haskellPackages.hoogle # For haskell search
# Preview
zathura # Pdf reader
xdotool # For zathura reverse search or whatever it's called
glow # Md preview in terminal
pandoc # Md processing
libsForQt5.falkon # Needed for one of the md preview plugins I tried
# zathura # Pdf reader
# xdotool # For zathura reverse search or whatever it's called
# glow # Md preview in terminal
# pandoc # Md processing
# libsForQt5.falkon # Needed for one of the md preview plugins I tried
# Latex setup
texlive.combined.scheme-full # Latex stuff
python38Packages.pygments # required for latex syntax highlighting
# texlive.combined.scheme-full # Latex stuff
# python38Packages.pygments # required for latex syntax highlighting
# sage
# sagetex # sage in latex
@ -146,6 +146,7 @@ let
# }}}
nlib = config.satellite.neovim.lib;
lazy = config.satellite.neovim.lazy;
in
{
# {{{ Basic config
@ -216,6 +217,21 @@ in
tempest = "my.runtime";
};
# {{{ libraries
# {{{ plenary
satellite.neovim.lazy.plenary = {
package = "nvim-lua/plenary.nvim";
# Autoload when running tests
cmd = [ "PlenaryBustedDirectory" "PlenaryBustedFile" ];
};
# }}}
# {{{ nui
satellite.neovim.lazy.nui.package = "MunifTanjim/nui.nvim";
# }}}
# {{{ web-devicons
satellite.neovim.lazy.web-devicons.package = "nvim-tree/nvim-web-devicons";
# }}}
# }}}
# {{{ ui
# {{{ nvim-tree
satellite.neovim.lazy.nvim-tree = {
@ -232,6 +248,7 @@ in
# {{{ lualine
satellite.neovim.lazy.lualine = {
package = "nvim-lualine/lualine.nvim";
dependencies.lua = [ lazy.web-devicons.package ];
env.blacklist = [ "vscode" "firenvim" ];
event = "VeryLazy";
@ -305,7 +322,22 @@ in
};
# }}}
# }}}
# {{{ editing
# {{{ visual
# The line between `ui` and `visual is a bit rought. I currenlty mostly judge
# it by vibe.
# {{{ indent-blankline
satellite.neovim.lazy.indent-blankline = {
package = "lukas-reineke/indent-blankline.nvim";
main = "ibl";
setup = true;
env.blacklist = [ "vscode" ];
event = "BufReadPost";
};
# }}}
# }}}
# {{{ editing
# {{{ text navigation
# {{{ flash
satellite.neovim.lazy.flash = {
package = "folke/flash.nvim";
@ -329,6 +361,16 @@ in
opts.modes.char.enabled = false;
};
# }}}
# {{{ ftft (quickscope but written in lua)
satellite.neovim.lazy.ftft = {
package = "gukz/ftFT.nvim";
env.blacklist = [ "vscode" ];
keys = [ "f" "F" "t" "T" ];
setup = true;
};
# }}}
# }}}
# {{{ clipboard-image
satellite.neovim.lazy.clipboard-image = {
package = "postfen/clipboard-image.nvim";
@ -353,6 +395,71 @@ in
};
};
# }}}
# {{{ lastplace
satellite.neovim.lazy.lastplace = {
package = "ethanholz/nvim-lastplace";
env.blacklist = [ "vscode" ];
event = "BufReadPre";
opts.lastplace_ignore_buftype = [ "quickfix" "nofile" "help" ];
};
# }}}
# {{{ undotree
satellite.neovim.lazy.undotree = {
package = "mbbill/undotree";
env.blacklist = [ "vscode" ];
cmd = "UndotreeToggle";
keys = {
mapping = "<leader>u";
action = "<cmd>UndoTreeToggle<cr>";
desc = "[U]ndo tree";
};
};
# }}}
# {{{ ssr (structured search & replace)
satellite.neovim.lazy.ssr = {
package = "cshuaimin/ssr.nvim";
env.blacklist = [ "vscode" ];
keys = {
mode = "nx";
mapping = "<leader>rt";
action = nlib.thunk /* lua */ ''require("ssr").open()'';
desc = "[r]eplace [t]emplate";
};
opts.keymaps.replace_all = "<s-cr>";
};
# }}}
# {{{ edit-code-block (edit injections in separate buffers)
satellite.neovim.lazy.edit-code-block = {
package = "dawsers/edit-code-block.nvim";
dependencies.lua = [ "nvim-treesitter/nvim-treesitter" ];
main = "ecb";
env.blacklist = [ "vscode" ];
setup = true;
keys = {
mapping = "<leader>e";
action = "<cmd>EditCodeBlock<cr>";
desc = "[e]dit injection";
};
};
# }}}
# {{{ mini.comment
satellite.neovim.lazy.mini-comment = {
package = "echasnovski/mini.comment";
name = "mini.comment";
setup = true;
keys = [
{ mapping = "gc"; mode = "nxv"; }
{ mapping = "gcc"; }
];
};
# }}}
# }}}
# {{{ ide
# {{{ conform
@ -396,7 +503,7 @@ in
# {{{ haskell
satellite.neovim.lazy.haskell-tools = {
package = "mrcjkb/haskell-tools.nvim";
dependencies.lua = [ "nvim-lua/plenary.nvim" ];
dependencies.lua = [ lazy.plenary.package ];
version = "^2";
env.blacklist = [ "vscode" ];
@ -439,7 +546,7 @@ in
# {{{ crates
satellite.neovim.lazy.crates = {
package = "saecki/crates.nvim";
dependencies.lua = [ "nvim-lua/plenary.nvim" ];
dependencies.lua = [ lazy.plenary.package ];
env.blacklist = [ "vscode" ];
event = "BufReadPost Cargo.toml";
@ -483,7 +590,7 @@ in
# {{{ Keymap helpers
keymap = mapping: action: desc: {
inherit mapping desc;
action = nlib.lua ''require("crates").${action}'';
action = nlib.lua /* lua */ ''require("crates").${action}'';
};
keyroot = "<leader>lc";
@ -512,5 +619,47 @@ in
# }}}
# }}}
# }}}
# {{{ external
# These plugins integrate neovim with external services
# {{{ wakatime
satellite.neovim.lazy.wakatime = {
package = "wakatime/vim-wakatime";
env.blacklist = [ "vscode" "firenvim" ];
event = "VeryLazy";
};
# }}}
# {{{ discord rich presence
satellite.neovim.lazy.discord-rich-presence = {
package = "andweeb/presence.nvim";
main = "presence";
env.blacklist = [ "vscode" "firenvim" ];
event = "VeryLazy";
setup = true;
};
# }}}
# {{{ gitlinker
# generate permalinks for code
satellite.neovim.lazy.gitlinker =
let mapping = "<leader>yg";
in
{
package = "ruifm/gitlinker.nvim";
dependencies.lua = [ lazy.plenary.package ];
env.blacklist = [ "vscode" "firenvim" ];
opts.mappings = mapping;
keys = mapping;
};
# }}}
# {{{ paperplanes
# export to pastebin like services
satellite.neovim.lazy.paperlanes = {
package = "rktjmp/paperplanes.nvim";
cmd = "PP";
opts.provider = "paste.rs";
};
# }}}
# }}}
# }}}
}

View file

@ -101,7 +101,6 @@
satellite.persistence.at.state.apps.Steam = {
directories = [
".factorio" # TODO: perhaps this should have it's own file?
# A couple of games don't play well with bindfs
{
directory = "${config.xdg.dataHome}/Steam";

View file

@ -11,7 +11,7 @@ in
wayland.windowManager.hyprland = {
enable = true;
package = inputs.hyprland.packages.${pkgs.system}.hyprland;
package = pkgs.hyprland;
settings = { };
extraConfig = ''
${builtins.readFile ./hyprland.conf}

View file

@ -1,4 +1,4 @@
{ inputs, pkgs, ... }: {
{ pkgs, ... }: {
imports = [
./global.nix
@ -7,7 +7,6 @@
./features/desktop/firefox
./features/desktop/discord
./features/cli/productivity
./features/cli/khal.nix
./features/cli/pass.nix
./features/neovim
@ -19,33 +18,32 @@
home.packages = with pkgs; [
# Desktop apps
# {{{ Communication
signal-desktop # Signal client
# signal-desktop # Signal client
element-desktop # Matrix client
zoom-us # Zoom client 🤮
inputs.matui.packages.${pkgs.system}.matui # Matrix TUi
# zoom-us # Zoom client 🤮
# inputs.matui.packages.${pkgs.system}.matui # Matrix TUi
# }}}
# {{{ Editors for different formats
gimp # Image editing
lmms # Music software
# gimp # Image editing
# lmms # Music software
# kicad # PCB editing
libreoffice # Free office suite
# libreoffice # Free office suite
# }}}
# {{{ Gaming
wine # Windows compat layer or whatever
lutris # Game launcher
# wine # Windows compat layer or whatever
# lutris # Game launcher
# }}}
# {{{ Clis
sherlock # Search for usernames across different websites
# sherlock # Search for usernames across different websites
# }}}
# {{{ Misc
obsidian # Notes
peek # GIF recorder
mpv # Video player
# peek # GIF recorder
# mpv # Video player
# plover.dev # steno engine
qbittorrent # Torrent client
# qbittorrent # Torrent client
# google-chrome # Not my primary browser, but sometimes needed in webdev
# obs-studio # video recorder
# }}}
];
@ -66,7 +64,7 @@
# App state I want to keep
at.state.path = "/persist/state";
# App state which I should be able to delete at any point
# App state which I should be able to delete on a whim
at.cache.path = "/persist/local/cache";
};

View file

@ -3,7 +3,7 @@
let
# {{{ Imports
imports = [
inputs.hyprland.nixosModules.default
# inputs.hyprland.nixosModules.default
inputs.disko.nixosModules.default
inputs.agenix.nixosModules.default
inputs.stylix.nixosModules.stylix

View file

@ -29,7 +29,13 @@
settings = {
# Enable flakes and new 'nix' command
experimental-features = [ "nix-command" "flakes" "repl-flake" ];
experimental-features = [
"nix-command"
"flakes"
"repl-flake"
"auto-allocate-uids"
# "configurable-impure-env"
];
# Disable warning when rebuilding before commiting
warn-dirty = false;
@ -39,7 +45,6 @@
# TODO: what is a trusted user?
trusted-users = [ "root" "@wheel" ];
};
};
}

View file

@ -1,6 +1,5 @@
# The main configuration is specified by home-manager
{ inputs, pkgs, ... }: {
programs.hyprland.enable = true;
programs.hyprland.package =
inputs.hyprland.packages.${pkgs.system}.hyprland;
programs.hyprland.package = pkgs.hyprland;
}

View file

@ -22,11 +22,7 @@ in
tethys.id = "NGHX5G4-IY3ZXL2-NQMMRQV-2GDQLC6-LIDWSNG-DAJUAQH-KBAP64V-55K2LQ6";
};
extraOptions = {
options = {
crashReportingEnabled = false;
};
};
extraOptions.options.crashReportingEnabled = false;
};
};
}

View file

@ -3,7 +3,7 @@
xdg.portal = {
enable = true;
xdgOpenUsePortal = true;
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
configPackages = [ pkgs.xdg-desktop-portal-gtk ];
};
environment.systemPackages = [ pkgs.xdg-utils ];

View file

@ -12,7 +12,7 @@
../common/optional/xdg-portal.nix
../common/optional/hyprland.nix
../common/optional/quietboot.nix
../common/optional/gitea.nix
# ../common/optional/gitea.nix
./hardware
./services/syncthing.nix

View file

@ -46,6 +46,7 @@ let
};
options.action = lib.mkOption {
default = null;
type = types.nullOr (types.oneOf [
types.str
myTypes.luaLiteral