1
Fork 0

feat: more tmux configuring

This commit is contained in:
Matei Adriel 2022-05-12 00:11:54 +03:00
parent c879c78d56
commit 400794b28c
21 changed files with 133 additions and 71 deletions

View file

@ -4,4 +4,11 @@ My flake based nixos configuration. To use this, just rebuild your system using
## TODO:
- make special separate dir for dotfiles. Would makes it easier to share them specifically
- get vieb to work
- easymotion for nvim
- configure tmux more
- figure out how to install fastcopy
- keep vim/nvim sessions around
- automatically save/restore state using continuum
- customize status bar
- clean out the mess I made for installing fish themes

View file

@ -14,7 +14,9 @@ local idrisChords = {
}
function M.setup()
require("idris2").setup({
local idris2 = require("idris2")
idris2.setup({
server = {
on_attach = function(client, bufnr)
lspconfig.on_attach(client, bufnr)

View file

@ -19,7 +19,7 @@ function M.setup()
require("my.plugins.vimtex").setup()
require("my.plugins.telescope").setup()
require("my.plugins.vimux").setup()
require("my.plugins.idris").setup()
-- require("my.plugins.idris").setup()
require("my.plugins.lean").setup()
require("my.plugins.vim-tmux-navigator").setup()
require("my.plugins.lh-brackets").setup()

View file

@ -33,3 +33,11 @@ bind -T copy-mode-vi p paste-buffer
bind -T copy-mode-vi V send-keys -X rectangle-toggle # Check if this works
bind -T copy-mode-vi v send-keys -X begin-selection
bind -T copy-mode-vi y send-keys -X copy-selection
# Copy to clipboard using fastcopy
set-option -g set-clipboard on
set-option -g @fastcopy-action 'tmux load-buffer -w -'
set-option -g @fastcopy-key a
# Keep state around using resurrect
set -g @resurrect-processes '"./result/bin/qkm ./myConfig.json"'

View file

@ -115,11 +115,11 @@
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1641205782,
"narHash": "sha256-4jY7RCWUoZ9cKD8co0/4tFARpWB+57+r1bLLvXNJliY=",
"lastModified": 1650374568,
"narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "b7547d3eed6f32d06102ead8991ec52ab0a4f1a7",
"rev": "b4a34015c698c7793d592d66adbab377907a2be8",
"type": "github"
},
"original": {
@ -161,11 +161,11 @@
},
"flake-utils_2": {
"locked": {
"lastModified": 1644229661,
"narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=",
"lastModified": 1631561581,
"narHash": "sha256-3VQMV5zvxaVLvqqUrNz3iJelLw30mIVSfZmAaauM3dA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797",
"rev": "7e5bf3925f6fbdfaf50a2a7ca0be2879c4261d19",
"type": "github"
},
"original": {
@ -275,11 +275,11 @@
]
},
"locked": {
"lastModified": 1648834319,
"narHash": "sha256-i5Aj4Aw64D/A0X6XW5LxSS4XBnYj7gMz+kN4dpsbdk8=",
"lastModified": 1651519540,
"narHash": "sha256-3k6p8VsTwwRPQjE8rrMh+o2AZACZn/eeYJ7ivdQ/Iro=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "0bdbdea2e26c984b096f4f7d10e3c88536a980b0",
"rev": "d93d56ab8c1c6aa575854a79b9d2f69d491db7d0",
"type": "github"
},
"original": {
@ -477,11 +477,11 @@
},
"locked": {
"dir": "nix",
"lastModified": 1647852712,
"narHash": "sha256-glteo+r5qz/O9BirpK/ziigpYbGjZIY5UFuxsADC4qY=",
"lastModified": 1651937557,
"narHash": "sha256-gvQsenQrEsLxLFgUGJhJBIx3+t1dtLMMTVEO/yZ8nRg=",
"owner": "kmonad",
"repo": "kmonad",
"rev": "65b501defdd0049563752f8af8c8c57f5a1ae38b",
"rev": "c43a0180a3b9ca9c4ff4a283b17369fc4e8e46e2",
"type": "github"
},
"original": {
@ -517,11 +517,11 @@
},
"locked": {
"dir": "contrib",
"lastModified": 1646712943,
"narHash": "sha256-FuYXH7g8OW8P+mAMLP/zx3zJOENtGIv5tLaOzKPP+is=",
"lastModified": 1652254318,
"narHash": "sha256-4LF4p4GuDJTVO2mqCAAZVwVI6tW8nSsoR8czPcoUU3M=",
"owner": "neovim",
"repo": "neovim",
"rev": "2783f4cc4a410cd3b73e8cdfbdf8c859c426c6c6",
"rev": "3a5abcd649f3637e3292dd595dd197e85d1a2272",
"type": "github"
},
"original": {
@ -540,11 +540,11 @@
]
},
"locked": {
"lastModified": 1646727299,
"narHash": "sha256-i18vMn+iXvPRAxPb96lEuEVkrQ75qKEZZomfo67JRJI=",
"lastModified": 1652257362,
"narHash": "sha256-qtESMLoS2B+dVDlJpCIDZHQYM8BfGk7o9VivDf8w81I=",
"owner": "nix-community",
"repo": "neovim-nightly-overlay",
"rev": "c26d33c2fbcf5f689a2592b2353f4f8765eea1da",
"rev": "5ab33071cc20422d0108c7e86d50cd8543e8475d",
"type": "github"
},
"original": {
@ -555,11 +555,11 @@
},
"nixos-unstable": {
"locked": {
"lastModified": 1646497237,
"narHash": "sha256-Ccpot1h/rV8MgcngDp5OrdmLTMaUTbStZTR5/sI7zW0=",
"lastModified": 1652172129,
"narHash": "sha256-8e2JMrswaKe02P8rYfvIMoc59pNuw6h/GYu8DBE1c+0=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "062a0c5437b68f950b081bbfc8a699d57a4ee026",
"rev": "f419dc5763c2b3c5580e396dea065b6d8b58ee27",
"type": "github"
},
"original": {
@ -571,11 +571,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1646675913,
"narHash": "sha256-ZvGf51XpXM7JojKLZ5yI0XLUq8UOFX6AwZ3bhtdcpIo=",
"lastModified": 1652278321,
"narHash": "sha256-dvm5y9LkOtMeddK9eKzhhSK9d01yipfXISvQtGLBpU0=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "9b1c7ba323732ddc85a51850a7f10ecc5269b8e9",
"rev": "e88ce43c86ebd9dee39764c3b8e9851cab9bef62",
"type": "github"
},
"original": {
@ -587,11 +587,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1646470760,
"narHash": "sha256-dQISyucVCCPaFioUhy5ZgfBz8rOMKGI8k13aPDFTqEs=",
"lastModified": 1652252629,
"narHash": "sha256-SvT64apetqc8P5nYp1/fOZvUmHUPdPFUZbhSpKy+1aI=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "1fc7212a2c3992eedc6eedf498955c321ad81cc2",
"rev": "d2fc6856824cb87742177eefc8dd534bdb6c3439",
"type": "github"
},
"original": {
@ -764,11 +764,11 @@
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1646576673,
"narHash": "sha256-zS5O7nW4sBzAa+hnEfI2P8J42XjfyEYrUU0VXnbvIIA=",
"lastModified": 1648995798,
"narHash": "sha256-+JVei13lElBfx/4XsS/zFplmAbU14zUIGjatGE6Ktrc=",
"owner": "m15a",
"repo": "nixpkgs-vim-extra-plugins",
"rev": "efe7a114effc4e242b3b8a848a6c86e1b552994b",
"rev": "5059176cb8f8c460c885f334883520972d1c05ae",
"type": "github"
},
"original": {

View file

@ -43,7 +43,7 @@
discord
# deluge
# slack
# tdesktop # telegram for the desktop
tdesktop # telegram for the desktop
zoom-us
# teams

View file

@ -37,8 +37,6 @@ in
# haskellPackages.agda-language-server # agda
nodePackages.typescript-language-server # typescript
easy-purescript-nix.purescript-language-server # purescript
idris2 # idris2 lang
idris2-pkgs.lsp # idris2
sumneko-lua-language-server # lua
rnix-lsp # nix
haskell-language-server # haskell
@ -85,8 +83,6 @@ in
presence-nvim # discord rich presence
agda-nvim # agda support
unicode-vim # better unicode support
nui-nvim # ui lib required by idris plugin
idris2-nvim # idris2 support
lean-nvim # lean support
kmonad # support for the kmonad config language
lh-vim-lib # dependency for lh-brackets

View file

@ -13,11 +13,11 @@ in
{
home-manager.users.adrielus = {
home.packages = [ rofi ];
home.file.".local/share/rofi/themes/${theme.name}.rasi".text = builtins.readFile theme.rofi.theme;
home.file.".local/share/rofi/themes/${theme.name}.rasi".text = theme.rofi.theme or "";
xdg.configFile."rofi/config.rasi".text = ''
@import "${./pre.rasi}"
${theme.rofi.config}
${theme.rofi.config or ""}
'';
};
}

View file

@ -19,7 +19,7 @@
battery = "acpi";
# Rebuuild nixos
rebuild = "sudo nixos-rebuild switch --flake ~/Projects/nixos-config/";
rebuild = "sudo -u adrielus nixos-rebuild switch --flake ~/Projects/nixos-config/";
# Render git repo using gource
"git-render" = "gource -f -s 1 -c 4 --key";

View file

@ -3,8 +3,12 @@ let
shellAliases = import ./aliases.nix;
common = import ./common.nix;
globalTheme = pkgs.myThemes.current;
theme = "dangerous";
themePackage = builtins.getAttr theme pkgs.myFishPlugins.themes; # Dynamically pick the theme path
defaultDangerousColors = "000000 333333 666666 ff4ff0 0088ff ff6600 ff0000 ff0033 3300ff 0000ff 00ffff 00ff00";
dangerousColors = globalTheme.fish.dangerousColors or defaultDangerousColors;
in
{
users.defaultUserShell = pkgs.fish;
@ -33,9 +37,10 @@ in
source $f
end
# if [ "${theme}" = "dangerous" ]
set dangerous_colors 000000 333333 666666 ff4ff0 0088ff ff6600 ff0000 ff0033 3300ff 0000ff 00ffff 00ff00
# end
${if theme == "dangerous"
then "set dangerous_colors ${dangerousColors}"
else ""}
${common.shellInit}
'';

View file

@ -1,6 +1,19 @@
{ pkgs, lib, ... }:
let
theme = pkgs.myThemes.current;
fastcopy = pkgs.tmuxPlugins.mkTmuxPlugin
{
pluginName = "fastcopy";
version = "unstable-2022-04-18";
src = pkgs.fetchFromGitHub
{
owner = "abhinav";
repo = "tmux-fastcopy";
sha256 = "0d2xdch5w35mw3kpw1y6jy8wk4zj43pjx73jlx83ciqddl3975x6";
rev = "4b9bc8e9e71c5b6eeb44a02f608baec07e12ea3d";
};
};
in
{
home-manager.users.adrielus.programs = {
@ -17,6 +30,9 @@ in
plugins = with pkgs.tmuxPlugins; [
cpu # Show CPU load with easy icons
vim-tmux-navigator # Switch between tmux and vim panes with ease
sessionist # Nicer workflow for switching around between session
# fastcopy # Easy copying of stuff
resurrect # Save / restore tmux sessions
];
extraConfig = ''

View file

@ -2,7 +2,7 @@
let vieb = "/home/adrielus/.config/Vieb"; in
{
home-manager.users.adrielus = {
home.packages = [ pkgs.vieb ];
home.packages = [ pkgs.nixos-unstable.vieb ];
systemd.user.tmpfiles.rules = [
"L+ /home/adrielus/.viebrc - - - - ${paths.dotfiles}/vieb/.viebrc"
];

View file

@ -13,7 +13,7 @@
# Proof assistants
./agda.nix
./idris.nix
# ./idris.nix
./lean.nix
];
}

View file

@ -1,6 +1,15 @@
{ pkgs, ... }: {
home-manager.users.adrielus.home.packages = with pkgs; [
idris2
idris2-pkgs.lsp # idris2
];
home-manager.users.adrielus = {
home.packages = with pkgs; [
idris2
idris2-pkgs.lsp # idris2
];
programs.neovim.plugins = with pkgs.vimPlugins;
with pkgs.vimExtraPlugins; with pkgs.myVimPlugins; [
nui-nvim # ui lib required by idris plugin
idris2-nvim # idris2 support
];
};
}

View file

@ -1,8 +1,9 @@
{ lib, ... }: {
mergeLines = (lines: lib.lists.foldr
mergeLines = lib.lists.foldr
(a: b: ''
${a}
${b}
'') ""
lines);
'') "";
unwords = lib.lists.foldr (a: b: ''${a} ${b}'') "";
}

View file

@ -22,6 +22,12 @@ in
config.allowBroken = true;
};
nixos-unstable = import nixos-unstable {
inherit system;
config.allowUnfree = true;
config.allowBroken = true;
};
easy-purescript-nix = self.callPackage foreign.easy-purescript-nix { };
easy-dhall-nix = self.callPackage foreign.easy-dhall-nix { };

View file

@ -1,14 +1,16 @@
{ transparency ? 1, wallpaper, variant }: { pkgs, ... }:
{ transparency ? 1, wallpaper, variant }: { pkgs, lib, ... }:
let
githubTheme = pkgs.myVimPlugins.githubNvimTheme; # github theme for neovim
foreign = pkgs.callPackage (import ./foreign.nix) { };
v = (a: b: if variant == "light" then a else b);
in
{
name = "catppuccin";
wallpaper = wallpaper.foreign or "${foreign.wallpapers}/${wallpaper}";
name = "catppuccin";
neovim = {
theme = builtins.readFile ./nvim.lua;
lualineTheme = "catppuccin";
plugins = [
(
pkgs.vimUtils.buildVimPluginFrom2Nix {
@ -17,28 +19,44 @@ in
}
)
];
theme = builtins.readFile ./nvim.lua;
lualineTheme = "catppuccin";
};
# grub.path = "${foreign.grub}/catppuccin-grub-theme/theme.txt";
tmux.path = "${foreign.tmux}/catppuccin.conf";
sddm.path = "${foreign.sddm}";
grub.path = pkgs.nixos-grub2-theme;
# grub.path = "${foreign.grub}/catppuccin-grub-theme/theme.txt";
gtk.path = null;
xresources = builtins.readFile "${foreign.xresources}/Xresources";
rofi = {
theme = "${foreign.rofi}/.local/share/rofi/themes/catppuccin.rasi";
theme = builtins.readFile "${foreign.rofi}/.local/share/rofi/themes/catppuccin.rasi";
config = ''
@import "${foreign.rofi}/.config/rofi/config.rasi"
@import "${./rofi.rasi}"'';
};
chromium.extensions = [
# https://github.com/catppuccin/chrome
(v
"cmpdlhmnmjhihmcfnigoememnffkimlk"
"bkkmolkhemgaeaeggcmfbghljjjoofoh")
];
fish.dangerousColors = lib.strings.concatStringsSep " "
[
"F2CDCD"
"DDB6F2"
"F5C2E7"
"E8A2AF"
"F28FAD"
"F8BD96"
"FAE3B0"
"ABE9B3"
"B5E8E0"
"96CDFB"
"89DCEB"
];
alacritty.settings = {
import = [ "${foreign.alacritty}/catppuccin.yml" ];
window = {
@ -53,4 +71,3 @@ in
background_opacity = transparency;
};
}

View file

@ -18,12 +18,7 @@ in
tmux.path = "${githubTheme}/terminal/tmux/github_${variant}.conf";
sddm.path = "${pkgs.sddm-theme-chili}"; # TODO: don't expose this globally
grub.path = pkgs.nixos-grub2-theme;
gtk.path = null;
xresources = "";
rofi = {
theme = "purple";
config = { };
};
rofi.config = ''@theme "purple"'';
alacritty.settings = {
import = [ "${githubTheme}/terminal/alacritty/github_${variant}.yml" ];
window = {

View file

@ -5,6 +5,6 @@ in
{
home-manager.users.adrielus.gtk = {
enable = true;
theme = theme.gtk.path;
theme = theme.gtk.path or null;
};
}

View file

@ -4,6 +4,6 @@ let
in
{
home-manager.users.adrielus.xresources = {
extraConfig = theme.xresources;
extraConfig = theme.xresources or "";
};
}

View file

@ -1,4 +1,4 @@
rec {
root = "~/Projects/nixos-config/";
root = "/home/adrielus/Projects/nixos-config";
dotfiles = "${root}/dotfiles";
}