1
Fork 0

Remove upkgs, add new vim keybind and ff addon

This commit is contained in:
Matei Adriel 2023-11-11 06:55:14 +01:00
parent ad3eaf120a
commit eca258cdfc
No known key found for this signature in database
20 changed files with 152 additions and 160 deletions

View file

@ -1,6 +1,5 @@
# shell containing the tools i most commonly use for purescript work!
{ pkgs, upkgs, ... }:
{ pkgs, ... }:
pkgs.mkShell {
# reason: purescript 0.15.10
nativebuildinputs = with pkgs; [ upkgs.purescript spago typescript nodejs ];
nativebuildinputs = with pkgs; [ purescript spago typescript nodejs ];
}

View file

@ -1,8 +1,7 @@
# Shell for using a pinned version of typst
{ pkgs, upkgs, ... }:
{ pkgs, ... }:
pkgs.mkShell {
nativeBuildInputs = [
# REASON: version 0.7.0
upkgs.typst
pkgs.typst
];
}

View file

@ -19,6 +19,7 @@ I feel like macro recording is a rare thing, so I moved it to `yq/yQ`. This free
| ----------- | ------------------------------------------------ | ------- |
| \<leader>a | [A]lternate file | |
| \<leader>rw | [R]eplace [w]ord under cursor in the entire file | |
| \<leader>sw | toggle word [w]rap and visual-line keybinds | |
| Q | [Q]uit all buffers | |
| [d | Previous [d]iagnostic | |
| d] | Next [d]iagnostic | |

View file

@ -1 +1 @@
require("my.helpers.wrapMovement").setup()
require("my.helpers.wrapMovement").enable()

View file

@ -1,7 +1,7 @@
local A = require("my.abbreviations")
local scrap = require("scrap")
require("my.helpers.wrapMovement").setup()
require("my.helpers.wrapMovement").enable()
vim.opt.conceallevel = 0
@ -33,82 +33,82 @@ vim.opt.conceallevel = 0
local abbreviations = {
-- Other fancy symvols
{ "tmat", "^T" }, -- Tranpose of a matrix
{ "cmat", "^*" }, -- Conjugate of a matrix
{ "sneg", "^C" }, -- Set complement
{ "ortco", "^\\bot" }, -- Orthogonal complement
{ "tmat", "^T" }, -- Tranpose of a matrix
{ "cmat", "^*" }, -- Conjugate of a matrix
{ "sneg", "^C" }, -- Set complement
{ "ortco", "^\\bot" }, -- Orthogonal complement
{ "sinter", "^\\circ" }, -- Interior of a set
{ "nuls", "\\varnothing" },
{ "nuls", "\\varnothing" },
-- Basic commands
{ "mangle", "\\measuredangle" },
{ "aangle", "\\angle" },
{ "sdiff", "\\setminus" },
{ "sst", "\\subset" },
{ "spt", "\\supset" },
{ "sseq", "\\subseteq" },
{ "speq", "\\supseteq" },
{ "nin", "\\not\\in" },
{ "iin", "\\in" },
{ "tto", "\\to" },
{ "land", "\\land" },
{ "lor", "\\lor" },
{ "ssin", "\\sin" },
{ "ccos", "\\cos" },
{ "ttan", "\\ttan" },
{ "ssec", "\\sec" },
{ "lln", "\\ln" },
{ "frl", "\\forall" },
{ "exs", "\\exists" },
{ "iinf", "\\infty" },
{ "ninf", "-\\infty" },
{ "nlnl", "\\pm" }, -- had this as npnp first but it was hard-ish to type
{ "ccup", "\\cup" },
{ "ccap", "\\cap" },
{ "nope", "\\bot" },
{ "yee", "\\top" },
{ "ccan", "\\cancel" },
{ "com", "\\circ" },
{ "mul", "\\cdot" },
{ "smul", "\\times" },
{ "card", "\\#" },
{ "div", "\\|" },
{ "ndiv", "\\not\\|\\:" },
{ "perp", "\\perp" },
{ "cdots", "\\cdots" }, -- center dots
{ "ldots", "\\ldots" }, -- low dots
{ "sdiff", "\\setminus" },
{ "sst", "\\subset" },
{ "spt", "\\supset" },
{ "sseq", "\\subseteq" },
{ "speq", "\\supseteq" },
{ "nin", "\\not\\in" },
{ "iin", "\\in" },
{ "tto", "\\to" },
{ "land", "\\land" },
{ "lor", "\\lor" },
{ "ssin", "\\sin" },
{ "ccos", "\\cos" },
{ "ttan", "\\ttan" },
{ "ssec", "\\sec" },
{ "lln", "\\ln" },
{ "frl", "\\forall" },
{ "exs", "\\exists" },
{ "iinf", "\\infty" },
{ "ninf", "-\\infty" },
{ "nlnl", "\\pm" }, -- had this as npnp first but it was hard-ish to type
{ "ccup", "\\cup" },
{ "ccap", "\\cap" },
{ "nope", "\\bot" },
{ "yee", "\\top" },
{ "ccan", "\\cancel" },
{ "com", "\\circ" },
{ "mul", "\\cdot" },
{ "smul", "\\times" },
{ "card", "\\#" },
{ "div", "\\|" },
{ "ndiv", "\\not\\|\\:" },
{ "perp", "\\perp" },
{ "cdots", "\\cdots" }, -- center dots
{ "ldots", "\\ldots" }, -- low dots
{ "cldots", ",\\ldots," }, -- comma, low dots
-- Decorations
{ "hat", "\\hat" },
{ "bar", "\\bar" },
{ "hat", "\\hat" },
{ "bar", "\\bar" },
-- Custom commands
{ "abs", "\\abs" }, -- custom abs command
{ "norm", "\\norm" }, -- custom norm command
{ "iprod", "\\iprod" }, -- custom inner product command
{ "abs", "\\abs" }, -- custom abs command
{ "norm", "\\norm" }, -- custom norm command
{ "iprod", "\\iprod" }, -- custom inner product command
{ "diprod", "\\dprod" }, -- custom self inner product command
{ "prob", "\\prob" }, -- custom probability function
{ "dist", "\\dist" }, -- custom dist function
{ "diam", "\\diam" }, -- custom diam operator
{ "gen", "\\gen" }, -- custom command for group generated by element
{ "ord", "\\ordop" }, -- order of a group
{ "vsm", "\\vecspace" }, -- custom math vector space
{ "prob", "\\prob" }, -- custom probability function
{ "dist", "\\dist" }, -- custom dist function
{ "diam", "\\diam" }, -- custom diam operator
{ "gen", "\\gen" }, -- custom command for group generated by element
{ "ord", "\\ordop" }, -- order of a group
{ "vsm", "\\vecspace" }, -- custom math vector space
}
-- Todo: convert exponents and subscripts
-- to use this more concise notation.
local abolishAbbreviations = {
-- {{{ General phrases
{ "thrf", "therefore" },
{ "bcla", "by contradiction let's assume" },
{ "wlg", "without loss of generality" },
{ "tits", "that is to say," },
{ "wpbd", "we will prove the statement in both directions." },
{ "stam{,s}", "statement{}" },
{ "thrf", "therefore" },
{ "bcla", "by contradiction let's assume" },
{ "wlg", "without loss of generality" },
{ "tits", "that is to say," },
{ "wpbd", "we will prove the statement in both directions." },
{ "stam{,s}", "statement{}" },
{ "{ww,tt}{m,i}", "{which,this} {means,implies}" },
{ "cex{,s}", "counterexample{}" },
{ "er{t,s,r}", "{transitivity,symmetry,reflexivity}" },
{ "cex{,s}", "counterexample{}" },
{ "er{t,s,r}", "{transitivity,symmetry,reflexivity}" },
-- }}}
-- {{{ Exponents and subscripts:
-- {operation}{argument}
@ -183,20 +183,20 @@ local abolishAbbreviations = {
},
-- }}}
-- {{{ Calculus & analysis
{ "ib{p,s}", "integration by {parts,substitution}" },
{ "nb{,h}{,s}", "neighbour{,hood}{}" },
{ "ib{p,s}", "integration by {parts,substitution}" },
{ "nb{,h}{,s}", "neighbour{,hood}{}" },
-- }}}
-- {{{ Linear algebra
{ "rref", "reduced row echalon form" },
{ "rref", "reduced row echalon form" },
{ "eg{va,ve,p}{,s}", "eigen{value,vector,pair}{}" },
{ "mx{,s}", "matri{x,ces}" },
{ "dete{,s}", "determinant{}" },
{ "ort{n,g}", "orto{normal,gonal}" },
{ "l{in,de}", "linearly {independent,dependent}" },
{ "lcon{,s}", "linear combination{}" },
{ "vst{,s}", "vector space{}" }, -- text vector space
{ "mx{,s}", "matri{x,ces}" },
{ "dete{,s}", "determinant{}" },
{ "ort{n,g}", "orto{normal,gonal}" },
{ "l{in,de}", "linearly {independent,dependent}" },
{ "lcon{,s}", "linear combination{}" },
{ "vst{,s}", "vector space{}" }, -- text vector space
{
"rizz", -- ok please ignore this one 💀
"rizz", -- ok please ignore this one 💀
"Riesz vector",
options = A.no_capitalization,
},
@ -209,7 +209,7 @@ local abolishAbbreviations = {
},
-- }}}
-- {{{ Graph theory
{ "vx{,s}", "vert{ex,ices}" },
{ "vx{,s}", "vert{ex,ices}" },
{ "edg{,s}", "edge{}" },
-- Graph theory function syntax:

View file

@ -1 +1 @@
require("my.helpers.wrapMovement").setup()
require("my.helpers.wrapMovement").enable()

View file

@ -5,7 +5,12 @@ local function swap(key)
vim.keymap.set({ "n", "v" }, "g" .. key, key, { buffer = true })
end
function M.setup()
local function unswap(key)
vim.keymap.del({ "n", "v" }, key)
vim.keymap.del({ "n", "v" }, "g" .. key)
end
function M.enable()
vim.opt.wrap = true
swap("j")
@ -14,4 +19,21 @@ function M.setup()
swap("$")
end
function M.disable()
vim.opt.wrap = false
unswap("j")
unswap("k")
unswap("0")
unswap("$")
end
function M.toggle()
if vim.opt.wrap == true then
M.disable()
else
M.enable()
end
end
return M

View file

@ -65,6 +65,13 @@ function M.setup()
-- {{{ Replace word in file
M.nmap("<leader>rw", ":%s/<C-r><C-w>/", "[R]eplace [w]ord in file")
-- }}}
-- {{{ Toggle settings
M.nmap(
"<leader>sw",
require("my.helpers.wrapMovement").toggle,
"toggle word [w]rap"
)
-- }}}
-- {{{ Text objects
M.delimitedTextobject("q", '"', "[q]uotes")
M.delimitedTextobject("a", "'", "[a]postrophes")
@ -104,7 +111,6 @@ function M.setup()
end,
})
-- }}}
-- -- {{{ Winblend
vim.api.nvim_create_autocmd("FileType", {
pattern = { "*" },
@ -114,8 +120,6 @@ function M.setup()
end,
})
-- -- }}}
return M
end
return M

View file

@ -52,7 +52,7 @@ local M = {
local prefix = "<leader>h"
wk.register({
[prefix] = { name = "gitsigns" },
["<leader>"] = { h = { name = "gitsigns" } },
})
-- {{{ Normal mode

View file

@ -9,7 +9,7 @@ local M = {
vim.keymap.set("n", "<C-g>", "<cmd>Neogit<cr>", { desc = "Open neo[g]it" })
end,
config = function()
require("neogit").setup()
require("neogit").setup({})
-- {{{ Disable folds inside neogit
vim.api.nvim_create_autocmd("FileType", {

View file

@ -23,6 +23,7 @@ function M.config()
l = { name = "[L]ocal" },
w = { name = "[W]orkspace" },
y = { name = "[Y]ank" },
s = { name = "[S]ettings" },
},
})
end

View file

@ -369,7 +369,7 @@
"disko": {
"inputs": {
"nixpkgs": [
"nixpkgs-unstable"
"nixpkgs"
]
},
"locked": {
@ -427,11 +427,11 @@
},
"locked": {
"dir": "pkgs/firefox-addons",
"lastModified": 1694585600,
"narHash": "sha256-X+3lxErOk5DNuyJZM7dNAaIpxadv8wMjj6pYxwpjPkc=",
"lastModified": 1699474771,
"narHash": "sha256-447mf95EXA3anSyLlVXCt49pyFhxcDgoNcdQi1xqFCU=",
"ref": "refs/heads/master",
"rev": "1d028825099440cd83f934967dd20cf1f0a453f5",
"revCount": 3084,
"rev": "157a2f215a4e7e04a49ef672070da835e4a98107",
"revCount": 3206,
"type": "git",
"url": "https://gitlab.com/rycee/nur-expressions?dir=pkgs/firefox-addons"
},
@ -1260,11 +1260,11 @@
"nixpkgs": "nixpkgs_8"
},
"locked": {
"lastModified": 1692099905,
"narHash": "sha256-/pSusGhmIdSdAaywQRFA5dVbfdIzlWQTecM+E46+cJ0=",
"lastModified": 1695108154,
"narHash": "sha256-gSg7UTVtls2yO9lKtP0yb66XBHT1Fx5qZSZbGMpSn2c=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "2a6679aa9cc3872c29ba2a57fe1b71b3e3c5649f",
"rev": "07682fff75d41f18327a871088d20af2710d4744",
"type": "github"
},
"original": {
@ -1298,7 +1298,7 @@
"inputs": {
"hyprland-protocols": "hyprland-protocols",
"nixpkgs": [
"nixpkgs-unstable"
"nixpkgs"
],
"systems": "systems",
"wlroots": "wlroots",
@ -1321,7 +1321,7 @@
"hyprland-contrib": {
"inputs": {
"nixpkgs": [
"nixpkgs-unstable"
"nixpkgs"
]
},
"locked": {
@ -1680,7 +1680,7 @@
"nixinate": {
"inputs": {
"nixpkgs": [
"nixpkgs-unstable"
"nixpkgs"
]
},
"locked": {
@ -1878,29 +1878,13 @@
"type": "github"
}
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1695145219,
"narHash": "sha256-Eoe9IHbvmo5wEDeJXKFOpKUwxYJIOxKUesounVccNYk=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "5ba549eafcf3e33405e5f66decd1a72356632b96",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-wayland": {
"inputs": {
"flake-compat": "flake-compat_4",
"lib-aggregate": "lib-aggregate",
"nix-eval-jobs": "nix-eval-jobs",
"nixpkgs": [
"nixpkgs-unstable"
"nixpkgs"
]
},
"locked": {
@ -2127,11 +2111,11 @@
},
"nixpkgs_9": {
"locked": {
"lastModified": 1692525914,
"narHash": "sha256-MUgZ9/9mE/EbEQA6JPdcQHkjoR5fgvaKhpy6UO67uEc=",
"lastModified": 1699291058,
"narHash": "sha256-5ggduoaAMPHUy4riL+OrlAZE14Kh7JWX4oLEs22ZqfU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "475d5ae2c4cb87b904545bdb547af05681198fcc",
"rev": "41de143fda10e33be0f47eab2bfe08a50f234267",
"type": "github"
},
"original": {
@ -2365,7 +2349,6 @@
"nixinate": "nixinate",
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_6",
"nixpkgs-unstable": "nixpkgs-unstable",
"nixpkgs-wayland": "nixpkgs-wayland",
"nur": "nur",
"rosepine-base16": "rosepine-base16",
@ -2606,7 +2589,7 @@
"inputs": {
"flake-utils": "flake-utils_7",
"nixpkgs": [
"nixpkgs-unstable"
"nixpkgs"
]
},
"locked": {

View file

@ -6,9 +6,6 @@
# Nixpkgs
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
# Nixpkgs-unstable
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
# Home manager
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
@ -58,15 +55,15 @@
# Hyprland (available in nix unstable only atm)
hyprland.url = "github:hyprwm/Hyprland";
hyprland.inputs.nixpkgs.follows = "nixpkgs-unstable";
hyprland.inputs.nixpkgs.follows = "nixpkgs";
# Hyprland (available in nix unstable only atm)
hyprland-contrib.url = "github:hyprwm/contrib";
hyprland-contrib.inputs.nixpkgs.follows = "nixpkgs-unstable";
hyprland-contrib.inputs.nixpkgs.follows = "nixpkgs";
# Contains a bunch of wayland stuff not on nixpkgs
nixpkgs-wayland.url = "github:nix-community/nixpkgs-wayland";
nixpkgs-wayland.inputs.nixpkgs.follows = "nixpkgs-unstable";
nixpkgs-wayland.inputs.nixpkgs.follows = "nixpkgs";
# Nix language server
# [the docs](https://github.com/nix-community/nixd/blob/main/docs/user-guide.md#installation)
@ -75,11 +72,11 @@
# Spotify client
spicetify-nix.url = "github:the-argus/spicetify-nix";
spicetify-nix.inputs.nixpkgs.follows = "nixpkgs-unstable";
spicetify-nix.inputs.nixpkgs.follows = "nixpkgs";
# Disko
disko.url = "github:nix-community/disko";
disko.inputs.nixpkgs.follows = "nixpkgs-unstable";
disko.inputs.nixpkgs.follows = "nixpkgs";
# Deploy-rs
deploy-rs.url = "github:serokell/deploy-rs";
@ -87,7 +84,7 @@
# Nixinate
nixinate.url = "github:matthewcroughan/nixinate";
nixinate.inputs.nixpkgs.follows = "nixpkgs-unstable";
nixinate.inputs.nixpkgs.follows = "nixpkgs";
# Anyrun
anyrun.url = "github:Kirottu/anyrun";
@ -104,7 +101,8 @@
# {{{ Self management
# Smos
smos.url = "github:NorfairKing/smos";
# smos.inputs.nixpkgs.follows = "nixpkgs-unstable";
# REASON: smos fails to build this way
# smos.inputs.nixpkgs.follows = "nixpkgs";
# smos.inputs.home-manager.follows = "home-manager";
# Intray
@ -133,8 +131,6 @@
specialArgs = system: {
inherit inputs outputs;
# This is used so often it makes sense to have it as it's own thing
upkgs = inputs.nixpkgs-unstable.legacyPackages.${system};
};
# }}}
in

View file

@ -1,4 +1,4 @@
{ config, pkgs, lib, ... }:
{ config, lib, ... }:
{
stylix.targets.alacritty.enable = true;

View file

@ -10,6 +10,7 @@ let
don-t-fuck-with-paste # disallows certain websites from disabling pasting
decentraleyes # Serves local copies of a bunch of things instead of reaching a CDN
gesturefy # mouse gestures
indie-wiki-buddy # redirects fandom wiki urls to the proper wikis
i-dont-care-about-cookies
localcdn # caches libraries locally
privacy-badger # blocks some trackers

View file

@ -1,6 +1,5 @@
{ upkgs, config, ... }: {
# REASON: newer version
home.packages = [ upkgs.wezterm ];
{ pkgs, config, ... }: {
home.packages = [ pkgs.wezterm ];
# Create link to config
xdg.configFile."wezterm/colorscheme.lua".text = config.satellite.colorscheme.lua;

View file

@ -1,13 +1,12 @@
# TODO(imperanence): handle persistence of things like harpoon, lazy, etc
{ pkgs, upkgs, lib, config, inputs, ... }:
{ pkgs, lib, config, inputs, ... }:
let
# {{{ extraPackages
extraPackages = with pkgs; [
# Language servers
nodePackages.typescript-language-server # typescript
nodePackages_latest.purescript-language-server # purescript
# REASON: not in stable
upkgs.lua-language-server # lua
lua-language-server # lua
rnix-lsp # nix
nil # nix
inputs.nixd.packages.${system}.nixd # nix
@ -20,7 +19,7 @@ let
python310Packages.python-lsp-server # python
pyright # python
rust-analyzer # rust
upkgs.typst-lsp # typst
typst-lsp # typst
# Formatters
luaformatter # Lua
@ -32,7 +31,7 @@ let
nodePackages_latest.purs-tidy # Purescript
nodePackages_latest.prettier # Js & friends
nodePackages_latest.prettier_d_slim # Js & friends
upkgs.typst-fmt # Typst
typst-fmt # Typst
# Linters
ruff # Python linter

View file

@ -25,7 +25,7 @@
maxEntries = 7;
};
extraCss = ''
extraCss = /* css */ ''
/* {{{ Global overrides */
#window,
#entry,

View file

@ -1,5 +1,5 @@
# Common wayland stuff
{ lib, pkgs, upkgs, ... }: {
{ lib, pkgs, ... }: {
imports = [
./dunst.nix
./wlsunset.nix
@ -10,28 +10,16 @@
../desktop/eww
];
# Makes some stuff run on wayland (?)
# Taken from [here](https://github.com/fufexan/dotfiles/blob/3b0075fa7a5d38de13c8c32140c4b020b6b32761/home/wayland/default.nix#L14)
# TODO: ask author what those do
# home.sessionVariables = {
# QT_QPA_PLATFORM = "wayland";
# SDL_VIDEODRIVER = "wayland";
# XDG_SESSION_TYPE = "wayland";
# };
# TODO: set up
# - wallpaper
# - notification daemon
# - screen recording
# - volume/backlight controls
# - eww bar
# - configure hyprland colors using base16 stuff
# - look into swaylock or whatever people use
# - look into greetd or something
# - multiple keyboard layouts
home.packages =
let
# {{{ OCR
_ = lib.getExe;
wl-copy = "${pkgs.wl-clipboard}/bin/wl-copy";
@ -45,20 +33,20 @@
| ${wl-copy}
${_ pkgs.libnotify} "Run ocr on area with output \"$(${wl-paste})\""
'';
# }}}
in
with pkgs; [
# Utils
# {{{ Utils
libnotify # Send notifications
wl-ocr # Custom ocr script
wl-clipboard # Clipboard manager
wlogout # Nice logout script
wlsunset # Day/night gamma display adjustments
# REASON: not available on stable yet
upkgs.hyprpicker # Color picker
# Screenshot related tools
hyprpicker # Color picker
# }}}
# {{{ Screenshot related tools
grim # Take screenshot
slurp # Area selector
# }}}
];
}

View file

@ -1,5 +1,5 @@
# Allows installing web apps as desktop apps
{ lib, pkgs, config, ... }:
{ lib, config, ... }:
let cfg = config.programs.firefox.apps;
in
{