Merge remote-tracking branch 'origin/nixos' into nixos

dev-docs
Moritz Böhme 2023-07-03 09:37:40 +02:00
commit 92acd80200
Signed by: moritz
GPG Key ID: 970C6E89EB0547A9
12 changed files with 96 additions and 147 deletions

View File

@ -55,34 +55,6 @@
"type": "github"
}
},
"attic": {
"inputs": {
"crane": "crane",
"flake-compat": "flake-compat",
"flake-utils": [
"flake-utils"
],
"nixpkgs": [
"nixpkgs"
],
"nixpkgs-stable": [
"stable"
]
},
"locked": {
"lastModified": 1685309025,
"narHash": "sha256-pZxMM3AMP/ojwhrFD0A2ML4NOgehlBLGHseInnO5evc=",
"owner": "zhaofengli",
"repo": "attic",
"rev": "b1fb790b5f2afaaa1b2f7f18979b8318abe604bb",
"type": "github"
},
"original": {
"owner": "zhaofengli",
"repo": "attic",
"type": "github"
}
},
"cmp-async-path": {
"flake": false,
"locked": {
@ -115,36 +87,6 @@
"type": "github"
}
},
"crane": {
"inputs": {
"flake-compat": [
"attic",
"flake-compat"
],
"flake-utils": [
"attic",
"flake-utils"
],
"nixpkgs": [
"attic",
"nixpkgs"
],
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1677892403,
"narHash": "sha256-/Wi0L1spSWLFj+UQxN3j0mPYMoc7ZoAujpUF/juFVII=",
"owner": "ipetkov",
"repo": "crane",
"rev": "105e27adb70a9890986b6d543a67761cbc1964a2",
"type": "github"
},
"original": {
"owner": "ipetkov",
"repo": "crane",
"type": "github"
}
},
"darwin": {
"inputs": {
"nixpkgs": [
@ -231,22 +173,6 @@
"type": "github"
}
},
"flake-compat_5": {
"flake": false,
"locked": {
"lastModified": 1673956053,
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
@ -668,7 +594,7 @@
},
"neovim-nightly-overlay": {
"inputs": {
"flake-compat": "flake-compat_2",
"flake-compat": "flake-compat",
"flake-parts": "flake-parts",
"hercules-ci-effects": "hercules-ci-effects",
"neovim-flake": "neovim-flake",
@ -696,7 +622,7 @@
"nixpkgs": [
"nixpkgs"
],
"rust-overlay": "rust-overlay_2"
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1685532165,
@ -737,25 +663,24 @@
},
"nix-super": {
"inputs": {
"flake-compat": "flake-compat_4",
"flake-compat": "flake-compat_3",
"lowdown-src": "lowdown-src",
"nixpkgs": [
"nixpkgs"
"stable"
],
"nixpkgs-regression": "nixpkgs-regression"
},
"locked": {
"lastModified": 1683240066,
"narHash": "sha256-XXTB64SAMukIt2suhoPP87QDKX9vB2ByXXuE7l2Vyxw=",
"lastModified": 1687621557,
"narHash": "sha256-FWtdWRmtzmqjjAsvYXefdZ2uVv5p5UfB7eftqsctSck=",
"owner": "privatevoid-net",
"repo": "nix-super",
"rev": "aaba1f91e7eba8ce029fa6bfa81ad9e14a13708d",
"rev": "c39cdf9ad2365509a602f8e2c6faa35aec1097a3",
"type": "github"
},
"original": {
"owner": "privatevoid-net",
"repo": "nix-super",
"rev": "aaba1f91e7eba8ce029fa6bfa81ad9e14a13708d",
"type": "github"
}
},
@ -955,7 +880,7 @@
},
"pre-commit-hooks": {
"inputs": {
"flake-compat": "flake-compat_5",
"flake-compat": "flake-compat_4",
"flake-utils": "flake-utils_4",
"gitignore": "gitignore_2",
"nixpkgs": "nixpkgs_7",
@ -977,7 +902,7 @@
},
"pre-commit-hooks-nix": {
"inputs": {
"flake-compat": "flake-compat_3",
"flake-compat": "flake-compat_2",
"flake-utils": "flake-utils_2",
"gitignore": "gitignore",
"nixpkgs": [
@ -1024,7 +949,6 @@
"agenix": "agenix",
"arkenfox-userjs": "arkenfox-userjs",
"asus-touchpad-numpad-driver": "asus-touchpad-numpad-driver",
"attic": "attic",
"cmp-async-path": "cmp-async-path",
"copilot-lua": "copilot-lua",
"flake-utils": "flake-utils",
@ -1046,33 +970,6 @@
}
},
"rust-overlay": {
"inputs": {
"flake-utils": [
"attic",
"crane",
"flake-utils"
],
"nixpkgs": [
"attic",
"crane",
"nixpkgs"
]
},
"locked": {
"lastModified": 1675391458,
"narHash": "sha256-ukDKZw922BnK5ohL9LhwtaDAdCsJL7L6ScNEyF1lO9w=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "383a4acfd11d778d5c2efcf28376cbd845eeaedf",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
},
"rust-overlay_2": {
"inputs": {
"flake-utils": [
"nil",

View File

@ -17,11 +17,6 @@
agenix.inputs.nixpkgs.follows = "nixpkgs";
agenix.url = "github:ryantm/agenix";
attic.inputs.flake-utils.follows = "flake-utils";
attic.inputs.nixpkgs-stable.follows = "stable";
attic.inputs.nixpkgs.follows = "nixpkgs";
attic.url = "github:zhaofengli/attic";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
home-manager.url = "github:nix-community/home-manager";
@ -31,8 +26,8 @@
pre-commit-hooks.url = "github:cachix/pre-commit-hooks.nix";
nix-super.url = "github:privatevoid-net/nix-super/aaba1f91e7eba8ce029fa6bfa81ad9e14a13708d";
nix-super.inputs.nixpkgs.follows = "nixpkgs";
nix-super.url = "github:privatevoid-net/nix-super";
nix-super.inputs.nixpkgs.follows = "stable";
rofi-wayland.url = "github:lbonn/rofi/wayland";
rofi-wayland.flake = false;

View File

@ -18,6 +18,7 @@
personal.enable = true;
};
programs.hyprland.nvidiaSupport = true;
programs.hyprland.keyboardLayouts = [ "us" "de" ];
services.mullvad.enable = true;
programs.ledger.enable = true;
};

View File

@ -45,6 +45,8 @@ in
mv = "mv -i";
cd = "z";
f = "fzf --multi --bind \"enter:become($EDITOR {+})\"";
nixos-switch = nom-system-command "sudo nixos-rebuild switch --flake ~/.dotfiles";
nixos-boot = nom-system-command "sudo nixos-rebuild boot --flake ~/.dotfiles";
nixos-update = "pushd ~/.dotfiles && nix flake update && popd";
@ -100,7 +102,6 @@ in
statix
manix
nix-output-monitor
attic
# other
bat

View File

@ -25,7 +25,7 @@ in
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
kb_layout = de,us
kb_layout = ${concatStringsSep "," cfg.keyboardLayouts}
kb_variant =
kb_model =
kb_options = grp:win_space_toggle,caps:escape

View File

@ -25,6 +25,11 @@ in
description = "enable window shadows";
default = true;
};
keyboardLayouts = mkOption {
type = types.listOf types.str;
description = "list of keyboard layouts";
default = [ "de" "us" ];
};
};
config = mkIf cfg.enable {

View File

@ -239,11 +239,12 @@ in
stylua
sumneko-lua-language-server
taplo
typst
typst-lsp
yamlfmt
];
plugins = with pkgs.vimPlugins; [
lazy-nvim
nvim-treesitter.withAllGrammars
plugins = [
pkgs.vimPlugins.lazy-nvim
];
};
};

View File

@ -1,4 +1,4 @@
{ pkgs, ... }:
{ lib, pkgs, ... }:
with builtins;
{
@ -115,9 +115,22 @@ with builtins;
lazy = false;
}
{
plugin = nvim-treesitter.withAllGrammars;
plugin = nvim-treesitter;
event = [ "BufReadPost" "BufNewFile" ];
conf = readFile ./nvim-treesitter.lua;
conf =
let
parserDir = pkgs.symlinkJoin {
name = "tresitter-grammars-all";
paths = lib.attrValues (lib.filterAttrs (_: builtins.isAttrs) nvim-treesitter-parsers);
};
in
readFile ./nvim-treesitter.lua + ''
vim.opt.runtimepath:append("${parserDir}")
require'nvim-treesitter.configs'.setup {
parser_install_dir = "${parserDir}",
}
'';
dependencies = [
{ plugin = nvim-ts-context-commentstring; }
{
@ -163,7 +176,7 @@ with builtins;
}
{
plugin = vim-tmux-navigator;
lazy = false;
event = [ "VeryLazy" ];
}
{
plugin = gitsigns-nvim;
@ -189,6 +202,7 @@ with builtins;
{
plugin = telescope-fzf-native-nvim;
conf = readFile ./telescope-fzf-native-nvim.lua;
cmd = [ "Telescope" ];
keys = [
{ key = "<leader>ff"; cmd = "<cmd>Telescope find_files<cr>"; desc = "Find files"; }
{ key = "<leader>fb"; cmd = "<cmd>Telescope buffers<cr>"; desc = "Find buffers"; }
@ -220,5 +234,14 @@ with builtins;
cmd = [ "StartupTime" ];
conf = readFile ./vim-startuptime.lua;
}
{
plugin = typst-vim;
ft = [ "typst" "typ" ];
}
{
plugin = comment-nvim;
event = [ "BufReadPost" "BufNewFile" ];
conf = "require('Comment').setup()";
}
];
}

View File

@ -1,11 +1,4 @@
require("mini.align").setup()
require("mini.comment").setup({
options = {
custom_commentstring = function()
return require("ts_context_commentstring.internal").calculate_commentstring() or vim.bo.commentstring
end,
},
})
require("mini.surround").setup()
require("mini.move").setup()
require("mini.pairs").setup()

View File

@ -127,6 +127,7 @@ local servers = {
"pylsp",
"ruff_lsp",
"rust_analyzer",
"typst_lsp",
}
for _, lsp in ipairs(servers) do
lspconfig_setup(lsp, {})

View File

@ -4,13 +4,13 @@ with lib;
let
cfg = config.my.programs.tmux;
tmux-sessionizer = pkgs.writeShellApplication {
name = "ts";
runtimeInputs = with pkgs; [ tmux findutils coreutils procps fd ];
fzf1 = pkgs.writeShellApplication {
name = "fzf1";
runtimeInputs = with pkgs; [ coreutils fzf ];
text = ''
#!/usr/bin/env bash
options=$(fd -HIg '.git' ~/ --min-depth 1 --max-depth 5 --type d --prune --exec dirname {} | fzf --filter "''$*")
options=$(fzf --filter "''$*" < /dev/stdin)
if [[ -z $options ]]; then
exit 1
@ -24,17 +24,48 @@ let
exit 0
fi
echo "$selected"
'';
};
tmux-switch = pkgs.writeShellApplication {
name = "tmux-switch";
runtimeInputs = with pkgs; [ tmux ];
text = ''
#!/usr/bin/env bash
if [[ -z ''${TMUX+x} ]]; then
tmux attach -t "$1"
else
tmux switch-client -t "$1"
fi
'';
};
tmux-sessionizer = pkgs.writeShellApplication {
name = "ts";
runtimeInputs = with pkgs; [ tmux findutils coreutils procps fd fzf ];
text = ''
#!/usr/bin/env bash
selected=$(fd -HIg '.git' ~/ --min-depth 1 --max-depth 5 --type d --prune --exec dirname {} | ${getExe fzf1} "$*")
selected_name=$(basename "$selected" | tr . _)
if ! tmux has-session -t="$selected_name" 2> /dev/null; then
tmux new-session -ds "$selected_name" -c "$selected"
fi
if [[ -z ''${TMUX+x} ]]; then
tmux attach -t "$selected_name"
else
tmux switch-client -t "$selected_name"
fi
${getExe tmux-switch} "$selected_name"
'';
};
tmux-attach = pkgs.writeShellApplication {
name = "ta";
runtimeInputs = with pkgs; [ tmux ];
text = ''
#!/usr/bin/env bash
selected=$(tmux list-sessions -F '#{session_name}' | ${getExe fzf1} "$*")
${getExe tmux-switch} "$selected"
'';
};
@ -64,7 +95,10 @@ in
config = mkIf cfg.enable {
my.shell.abbreviations.t = "tmux";
home-manager.users.moritz.home.packages = [ tmux-sessionizer ];
home-manager.users.moritz.home.packages = [
tmux-sessionizer
tmux-attach
];
home-manager.users.moritz.programs = {
tmux = {
enable = true;
@ -72,7 +106,6 @@ in
customPaneNavigationAndResize = true;
keyMode = "vi";
mouse = true;
newSession = true;
prefix = "C-Space";
sensibleOnTop = false;
plugins = with pkgs.tmuxPlugins; [

View File

@ -3,7 +3,6 @@
_: prev:
{
agenix = inputs.agenix.packages.${prev.system}.default;
attic = inputs.attic.packages.${prev.system}.default;
hyprpaper = inputs.hyprpaper.packages.${prev.system}.default;
nil = inputs.nil.packages.${prev.system}.default;
nix-super = inputs.nix-super.packages.${prev.system}.default;