1
Fork 0

Rosepine theme!

This commit is contained in:
Matei Adriel 2023-01-22 01:22:38 +01:00
parent 2efcb0b1a5
commit 493954c1e3
No known key found for this signature in database
23 changed files with 464 additions and 262 deletions

View file

@ -86,7 +86,7 @@ local abbreviations = {
{ "ndiv", "\\not\\|\\:" },
-- words
{ "rref", "reduced row echalon form" }
{ "rref", "reduced row echalon form" },
}
---@type ExpansionOptions
@ -100,7 +100,13 @@ local abolishAbbreviations = {
{ "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{}" },
{ "nb{,h}{,s}", "neighbour{,hood}{}" },
{ "{ww,tt}{m,i}", "{which,this} {means,implies}" },
{ "cex{,s}", "counterexample{}" },
{ "er{t,s,r}", "{transitivity,symmetry,reflexivity}" },
-- Calculus
{ "ib{p,s}", "integration by {parts,substitution}" },
@ -112,6 +118,37 @@ local abolishAbbreviations = {
{ "ort{n,g}", "orto{normal,gonal}" },
{ "l{in,de}", "linearly {independent,dependent}" },
-- Graph theory
{ "vx{,s}", "vert{ex,ices}" },
{ "eg{,s}", "edge{}" },
-- Graph theory function syntax:
-- gt[function]{graph}{modifier}
-- - function:
-- - basic functions: e/E/v/G/L
-- - k => connectivity
-- - a => size of the biggest stable set
-- - w => size of the biggest clique
-- - d => biggest degree
-- - c{target}{kind} => {target} {kind} chromatic number
-- - target:
-- - vertices by default
-- - e => edges
-- - kind:
-- - normal by default
-- - l => list
-- - graph:
-- - G by default
-- - s/x/y/h => S/X/Y/H
-- - modifier:
-- - a => '
-- - 1/2 => _k
{
"gt{{e,E,v,V,L},k,a,w,d,md{,e},c{,e}{,l}}{,s,h,x,y}{,a,1,2}",
"{{},\\kappa,\\alpha,\\omega,\\Delta,\\delta{,'},\\chi{,'}{,_l}}({G,S,H,X,Y}{,',_1,_2})",
options = no_capitalization,
},
-- My own operator syntax:
-- - Any operator can be prefixed with "a" to
-- align in aligned mode
@ -120,7 +157,7 @@ local abolishAbbreviations = {
{
"{cr,a,}{eq,neq,leq,geq,lt,gt}",
"{\\\\\\&,&,}{=,\\neq,\\leq,\\geq,<,>}",
options = no_capitalization
options = no_capitalization,
},
-- Exponents and subscripts:
@ -135,7 +172,7 @@ local abolishAbbreviations = {
{
"{e,s}{{0,1,2,3,4,5,6,7,8,9,n,i,t,k},t{i,m,p}}",
"{^,_}{{},{\\{-1\\},-,+}}",
options = no_capitalization
options = no_capitalization,
},
-- Set symbols
@ -150,7 +187,7 @@ local abolishAbbreviations = {
{
"{nats,ints,rats,irats,rrea,comp,ppri,ffie}",
"\\mathbb\\{{N,Z,Q,I,R,C,P,F}\\}",
options = no_capitalization
options = no_capitalization,
},
-- Function calls:
@ -165,7 +202,10 @@ local abolishAbbreviations = {
-- - argument = x/y/z/a/t/i/n/k
-- - argument-modifier:
-- - n => subscript n
{ "{f,g,h,P}{d,2,3,i,}{x,y,z,a,t,i,n,k}{n,}", "{}{',^2,^3,^\\{-1\\},}({}{_n,})" },
{
"{f,g,h,P}{d,2,3,i,}{x,y,z,a,t,i,n,k}{n,}",
"{}{',^2,^3,^\\{-1\\},}({}{_n,})",
},
}
local expanded = scrap.expand_many(abolishAbbreviations)
@ -174,5 +214,11 @@ local expanded = scrap.expand_many(abolishAbbreviations)
A.manyLocalAbbr(abbreviations)
A.manyLocalAbbr(expanded)
vim.keymap.set("n", "<leader>lc", "<cmd>VimtexCompile<cr>",
{ desc = "Compile current buffer using vimtex", buffer = true })
print(#expanded .. " abbreviations")
vim.keymap.set(
"n",
"<leader>lc",
"<cmd>VimtexCompile<cr>",
{ desc = "Compile current buffer using vimtex", buffer = true }
)

View file

@ -2,7 +2,6 @@
"LuaSnip": { "branch": "master", "commit": "5570fd797eae0790affb54ea669a150cad76db5d" },
"abbreinder.nvim": { "branch": "main", "commit": "5b2b5ff08a9ada42238d733aeebc6d3d96314d77" },
"abbremand.nvim": { "branch": "main", "commit": "d633341f632b0b2666dfc6dfe6b9842ba1610a1d" },
"catppuccin": { "branch": "main", "commit": "3020af75aae098a77737d91ee37c7147c8450d99" },
"clipboard-image.nvim": { "branch": "main", "commit": "d1550dc26729b7954f95269952e90471b838fa25" },
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
"cmp-cmdline": { "branch": "main", "commit": "23c51b2a3c00f6abc4e922dbd7c3b9aca6992063" },
@ -47,6 +46,8 @@
"plenary.nvim": { "branch": "master", "commit": "4b7e52044bbb84242158d977a50c4cbcd85070c7" },
"presence.nvim": { "branch": "main", "commit": "c1c54758824cbecd4e18065d37191f7666fdd097" },
"purescript-vim": { "branch": "main", "commit": "7af25a840d38dc6767c85edd1f35c1f835618071" },
"rasi.vim": { "branch": "main", "commit": "a3c5eaf37f2f778f4d62dad2f1e3dbb4596ac6eb" },
"rose-pine": { "branch": "main", "commit": "845a6ad5443e3559dde42910c4523a5835c9233b" },
"scrap.nvim": { "branch": "main", "commit": "16db44ae9403ec9c4b140394f294475d1af80a18" },
"smart-splits.nvim": { "branch": "master", "commit": "fdd158ce7554dc830fb86e0fe952cd9476cdf726" },
"telescope-file-browser.nvim": { "branch": "master", "commit": "304508fb7bea78e3c0eeddd88c4837501e403ae8" },

View file

@ -22,7 +22,7 @@ return {
return vim.g.vscode ~= nil
end),
neovide = makeEnv(function()
return vim.g.neovide ~= nil or os.getenv("INSIDE_NEOVIDE") == "1"
return vim.g.neovide ~= nil or require("nix.env") == "neovide"
end),
firenvim = makeEnv(function()
return vim.g.started_by_firenvim ~= nil

View file

@ -1,18 +0,0 @@
local M = {
"catppuccin/nvim", name = "catppuccin",
lazy = false
}
function M.config()
local catppuccin = require("catppuccin")
vim.g.catppuccin_flavour = os.getenv("CATPPUCCIN_FLAVOUR") or "latte"
catppuccin.setup({ transparent_background = false, integrations = { nvimtree = true } })
vim.cmd [[highlight NotifyINFOIcon guifg=#d6b20f]]
vim.cmd [[highlight NotifyINFOTitle guifg=#d6b20f]]
vim.cmd [[colorscheme catppuccin]]
end
return M

View file

@ -188,12 +188,12 @@ end
-- {{{ Main config function
function lspconfig.config()
diagnostics_icons()
-- {{{ Change on-hover borders
vim.lsp.handlers["textDocument/hover"] =
vim.lsp.with(vim.lsp.handlers.hover, { border = "single" })
vim.lsp.handlers["textDocument/signatureHelp"] =
vim.lsp.with(vim.lsp.handlers.signature_help, { border = "single" })
-- }}}
-- -- {{{ Change on-hover borders
-- vim.lsp.handlers["textDocument/hover"] =
-- vim.lsp.with(vim.lsp.handlers.hover, { border = "single" })
-- vim.lsp.handlers["textDocument/signatureHelp"] =
-- vim.lsp.with(vim.lsp.handlers.signature_help, { border = "single" })
-- -- }}}
local capabilities = M.capabilities()
-- Setup basic language servers

View file

@ -11,7 +11,7 @@ function M.config()
options = {
component_separators = { left = "", right = "" },
section_separators = { left = "", right = "" },
theme = "catppuccin",
theme = "auto",
},
sections = {
lualine_a = { "branch" },

View file

@ -0,0 +1,25 @@
local H = require("my.plugins.themes.helpers")
local M = {
"catppuccin/nvim",
name = "catppuccin",
lazy = false,
enabled = H.theme_contains("Catppuccin"),
}
function M.config()
local catppuccin = require("catppuccin")
vim.g.catppuccin_flavour = H.variant("Catppuccin")
catppuccin.setup({
transparent_background = false,
integrations = { nvimtree = true },
})
vim.cmd([[highlight NotifyINFOIcon guifg=#d6b20f]])
vim.cmd([[highlight NotifyINFOTitle guifg=#d6b20f]])
vim.cmd("colorscheme catppuccin")
end
return M

View file

@ -0,0 +1,14 @@
local theme = require("nix.theme").name
local M = {}
function M.theme_contains(name)
return string.find(theme, name) ~= nil
end
function M.variant(name)
-- +1 for 1-indexed strings and +1 for the space between name and variant
return string.lower(string.sub(theme, string.len(name) + 2))
end
return M

View file

@ -0,0 +1,4 @@
return {
require("my.plugins.themes.catppuccin"),
require("my.plugins.themes.rosepine"),
}

View file

@ -0,0 +1,31 @@
local H = require("my.plugins.themes.helpers")
local M = {
"rose-pine/neovim",
name = "rose-pine",
lazy = false,
enabled = H.theme_contains("Rosé Pine"),
}
function M.config()
local variant = H.variant("Rosé Pine")
if variant == "dawn" then
vim.o.background = "light"
else
vim.o.background = "dark"
end
local dark_variants = {
[""] = "main",
moon = "moon",
}
require("rose-pine").setup({
dark_variant = dark_variants[variant],
})
vim.cmd("colorscheme rose-pine")
end
return M

View file

@ -214,7 +214,24 @@
"homeage": "homeage",
"impermanence": "impermanence",
"neovim-nightly-overlay": "neovim-nightly-overlay",
"nixpkgs": "nixpkgs"
"nixpkgs": "nixpkgs",
"rosepine-base16": "rosepine-base16"
}
},
"rosepine-base16": {
"flake": false,
"locked": {
"lastModified": 1669049843,
"narHash": "sha256-4+U8llaqsztHrmR7OYBplz2Ez7Txbi8z/r9AQjKJEBk=",
"owner": "edunfelt",
"repo": "base16-rose-pine-scheme",
"rev": "424c0327b8251e4662e6cbc62518273c8800f507",
"type": "github"
},
"original": {
"owner": "edunfelt",
"repo": "base16-rose-pine-scheme",
"type": "github"
}
},
"utils": {

View file

@ -25,6 +25,10 @@
catppuccin-base16.url = github:catppuccin/base16;
catppuccin-base16.flake = false;
# Rosepine base16 color schemes
rosepine-base16.url = github:edunfelt/base16-rose-pine-scheme;
rosepine-base16.flake = false;
# Impermanence
impermanence.url = "github:nix-community/impermanence";
@ -46,7 +50,7 @@
specialArgs = {
inherit inputs outputs;
paths.dotfiles = "~/Projects/satellite/dotfiles";
paths.dotfiles = "/home/adrielus/Projects/satellite/dotfiles";
};
in
rec {

View file

@ -2,6 +2,6 @@
programs.discord = {
enable = true;
disableUpdateCheck = true;
base16Styles.enable = true;
base16Styles.enable = false;
};
}

View file

@ -56,9 +56,10 @@ label-disconnected = 睊
label-packetloss = %essid%
animation-packetloss-0 =
animation-packetloss-0-foreground = #ffa64c
animation-packetloss-0-foreground = ${colors.base08}
animation-packetloss-1 = 📶
animation-packetloss-1-foreground = #000000
animation-packetloss-1-foreground = ${colors.base00}
animation-packetloss-framerate = 500
[module/ewmh]
@ -73,7 +74,7 @@ icon-default = 
format = <label-state>
label-active = %icon%
label-active-background = ${colors.base05}
label-active-background = ${colors.base0A}
label-active-foreground = ${colors.base00}
label-active-padding = 2
@ -102,9 +103,9 @@ module-margin = 2
height=4%
border-top-size = 1
border-top-color= ${colors.base05}
border-top-color= ${colors.base0A}
background = ${colors.base00}
foreground = ${colors.base05}
foreground = ${colors.base0A}
bottom = true

View file

@ -1,6 +1,6 @@
{ pkgs, lib, config, paths, ... }:
let
devMode = false;
devMode = true;
extraPackages = with pkgs; [
# Language servers
nodePackages.typescript-language-server # typescript
@ -41,19 +41,32 @@ in
let
symlink = config.lib.file.mkOutOfStoreSymlink;
extraRuntime = [
extraRuntime = env: [
# Snippets
(if devMode
then symlink "${paths.dotfiles}/vscode-snippets"
else ../../../../dotfiles/vscode-snippets)
# Base16 theme
(pkgs.writeTextDir
"lua/nix/theme.lua"
''
return {
name = "${config.scheme.scheme}"
}
'')
# Provide hints as to what app we are in
# (Useful because neovide does not provide the info itself right away)
(pkgs.writeTextDir
"lua/nix/env.lua"
"return '${env}'"
)
];
# Wraps a neovim client, providing the dependencies
# and setting some flags:
#
# TODO: change this to a more general thing like "NVIM_CLIENT_NAME"
# - INSIDE_NEOVIDE is used to detect when running inside neovide,
# before the in-client flag gets set (this was causing me problems in the past)
#
# - NVIM_EXTRA_RUNTIME provides extra directories to add to the runtimepath.
# I cannot just install those dirs using the builtin package support because
# my package manager (lazy.nvim) disables those.
@ -65,8 +78,7 @@ let
postBuild = ''
wrapProgram $out/bin/${name} \
--prefix PATH : ${lib.makeBinPath extraPackages} \
--set INSIDE_NEOVIDE ${if name == "neovide" then "1" else "0"} \
--set NVIM_EXTRA_RUNTIME ${lib.strings.concatStringsSep "," extraRuntime} \
--set NVIM_EXTRA_RUNTIME ${lib.strings.concatStringsSep "," (extraRuntime name)} \
${extraArgs}
'';
};

View file

@ -40,7 +40,8 @@ in
};
# Set default theme
scheme = lib.mkDefault "${inputs.catppuccin-base16}/base16/latte.yaml";
# scheme = lib.mkDefault "${inputs.catppuccin-base16}/base16/latte.yaml";
scheme = lib.mkDefault "${inputs.rosepine-base16}/rose-pine-dawn.yaml";
# Set reasonable defaults for some settings
home = {

View file

@ -0,0 +1,26 @@
{ pkgs, ... }:
{
boot.plymouth = {
enable = true;
themePackages = [ pkgs.plymouthThemes.cuts_alt ];
theme = "cuts_alt";
};
boot = {
# See https://search.nixos.org/options?show=boot.initrd.verbose&query=boot.initrd.verbose
kernelParams = [
"quiet"
"splash"
"boot.shell_on_fail"
"i915.fastboot=1"
"loglevel=3"
"rd.systemd.show_status=false"
"rd.udev.log_level=3"
"udev.log_priority=3"
"vt.global_cursor_default=0"
"udev.log_level=3"
];
consoleLogLevel = 0;
initrd.verbose = false;
};
}

View file

@ -24,8 +24,8 @@ main =
terminal = myTerminal,
workspaces = myWorkspaces,
borderWidth = 5,
focusedBorderColor = "#4c4f69",
normalBorderColor = "#4c4f69",
focusedBorderColor = "#d7827e",
normalBorderColor = "#d7827e",
startupHook = startup,
layoutHook = avoidStruts myLayoutHook,
manageHook = manageDocks <+> manageSpawn <+> manageHook def,

View file

@ -1,6 +1,6 @@
# This file contains arcane configurations copied from a random old wiki entry
# One day I shall revisit this and see what's needed and what isn't
{...}: {
{
boot.loader = {
efi = {
canTouchEfiVariables = true;

View file

@ -35,7 +35,8 @@ in
};
# Taken from [here](https://github.com/Misterio77/nix-config/blob/main/home/misterio/features/desktop/common/discord.nix)
xdg.configFile."discocss/custom.css".text = lib.mkIf cfg.base16Styles.enable
xdg.configFile."discocss/custom.css" = lib.mkIf cfg.base16Styles.enable {
text =
''
.theme-light {
--header-primary: #${colors.base05};
@ -248,4 +249,5 @@ in
}
'';
};
};
}

View file

@ -4,4 +4,6 @@
{ pkgs ? (import ../nixpkgs.nix) { } }: {
# example = pkgs.callPackage (import ./example.nix) {};
vimclip = pkgs.callPackage (import ./vimclip.nix) {};
plymouthThemes = pkgs.callPackage (import ./plymouth-themes.nix) {};
}

31
pkgs/plymouth-themes.nix Normal file
View file

@ -0,0 +1,31 @@
{ pkgs ? import <nixpkgs> { }
}:
# See [this blog post](http://blog.sidhartharya.com/using-custom-plymouth-theme-on-nixos/)
let mkTheme = { themeName, pack }: pkgs.stdenv.mkDerivation rec {
pname = "adi1090x-plymouth-${themeName}";
version = "0.0.1";
src = pkgs.fetchFromGitHub {
owner = "adi1090x";
repo = "plymouth-themes";
rev = "bf2f570bee8e84c5c20caac353cbe1d811a4745f";
sha256 = "0scgba00f6by08hb14wrz26qcbcysym69mdlv913mhm3rc1szlal";
};
configurePhase = ''
mkdir -p $out/share/plymouth/themes/
'';
installPhase =
let path = "pack_${pack}/${themeName}";
in
''
cp -r ${path} $out/share/plymouth/themes
cat ${path}/${themeName}.plymouth \
| sed "s@\/usr\/@$out\/@" \
> $out/share/plymouth/themes/${themeName}/${themeName}.plymouth
'';
}; in
{
cuts_alt = mkTheme { themeName = "cuts_alt"; pack = "1"; };
}

3
stylua.toml Normal file
View file

@ -0,0 +1,3 @@
column_width = 80
indent_width = 2
indent_type = "Spaces"