Compare commits
No commits in common. "main" and "feature/flakes" have entirely different histories.
main
...
feature/fl
39
flake.lock
generated
39
flake.lock
generated
@ -5,11 +5,11 @@
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"lastModified": 1681202837,
|
||||
"narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"rev": "cfacdce06f30d2b68473a46042957675eebb3401",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -25,43 +25,27 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1739757849,
|
||||
"narHash": "sha256-Gs076ot1YuAAsYVcyidLKUMIc4ooOaRGO0PqTY7sBzA=",
|
||||
"lastModified": 1685019994,
|
||||
"narHash": "sha256-81o6SKZPALvib21hIOMx2lIhFSs0mRy0PfPvg0zsfTk=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "9d3d080aec2a35e05a15cedd281c2384767c2cfe",
|
||||
"rev": "d1f04b0f365a34896a37d9015637796537ec88a3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "release-24.11",
|
||||
"ref": "master",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1741862977,
|
||||
"narHash": "sha256-prZ0M8vE/ghRGGZcflvxCu40ObKaB+ikn74/xQoNrGQ=",
|
||||
"lastModified": 1684935479,
|
||||
"narHash": "sha256-6QMMsXMr2nhmOPHdti2j3KRHt+bai2zw+LJfdCl97Mk=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "cdd2ef009676ac92b715ff26630164bb88fec4e0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-24.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1741851582,
|
||||
"narHash": "sha256-cPfs8qMccim2RBgtKGF+x9IBCduRvd/N5F4nYpU0TVE=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "6607cf789e541e7873d40d3a8f7815ea92204f32",
|
||||
"rev": "f91ee3065de91a3531329a674a45ddcb3467a650",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -75,8 +59,7 @@
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"home-manager": "home-manager",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable"
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
|
@ -1,13 +1,11 @@
|
||||
{
|
||||
inputs = {
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager/release-24.11";
|
||||
url = "github:nix-community/home-manager/master";
|
||||
/* url = "github:nix-community/home-manager/release-22.05"; */
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
nixpkgs = {
|
||||
url = "github:nixos/nixpkgs/nixos-24.11";
|
||||
};
|
||||
nixpkgs-unstable = {
|
||||
url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
};
|
||||
flake-utils = {
|
||||
|
@ -20,7 +20,6 @@ user:
|
||||
./home.nix
|
||||
./htop.nix
|
||||
./i3.nix
|
||||
./kdeconnect.nix
|
||||
./lsd.nix
|
||||
./man.nix
|
||||
./neovim/neovim.nix
|
||||
@ -30,6 +29,7 @@ user:
|
||||
./pasystray.nix
|
||||
./photography.nix
|
||||
./picom.nix
|
||||
./polybar.nix
|
||||
./programs.nix
|
||||
./qt.nix
|
||||
./redshift.nix
|
||||
@ -38,12 +38,10 @@ user:
|
||||
./rofi.nix
|
||||
./rust.nix
|
||||
./signal.nix
|
||||
./sway/default.nix
|
||||
./telegram.nix
|
||||
./thunderbird.nix
|
||||
./tmux.nix
|
||||
./tor.nix
|
||||
./waybar.nix
|
||||
./xdg.nix
|
||||
./zathura.nix
|
||||
./zoom.nix
|
||||
|
@ -25,11 +25,6 @@ user:
|
||||
sendemail = {
|
||||
smtpserver = "${pkgs.msmtp}/bin/msmtp";
|
||||
};
|
||||
url = {
|
||||
"git@github.com:" = {
|
||||
insteadOf = "https://github.com/";
|
||||
};
|
||||
};
|
||||
};
|
||||
signing = {
|
||||
key = "1FFE431282F4B8CC0A7579167FB009175885FC76";
|
||||
|
248
home/i3.nix
248
home/i3.nix
@ -27,47 +27,34 @@ let
|
||||
|
||||
mode_system = "System: L : | S : | P : | R : | E : ";
|
||||
in {
|
||||
imports = [
|
||||
./polybar.nix
|
||||
];
|
||||
home.packages = with pkgs; [
|
||||
# i3lock
|
||||
dmenu
|
||||
i3blocks
|
||||
i3lock-fancy-rapid
|
||||
i3status
|
||||
rofi
|
||||
];
|
||||
xsession = {
|
||||
xsession.windowManager.i3 = {
|
||||
enable = true;
|
||||
windowManager.i3 = {
|
||||
enable = true;
|
||||
# package = pkgs.i3-gaps;
|
||||
config = {
|
||||
modifier = mod;
|
||||
# package = pkgs.i3-gaps;
|
||||
config = {
|
||||
modifier = mod;
|
||||
|
||||
workspaceAutoBackAndForth = true;
|
||||
workspaceAutoBackAndForth = true;
|
||||
|
||||
fonts = {
|
||||
names = [ "NotoSans-Regular" "FontAwesome" ];
|
||||
style = "Monospace";
|
||||
size = 12.0;
|
||||
};
|
||||
fonts = {
|
||||
names = [ "NotoSans-Regular" "FontAwesome" ];
|
||||
style = "Monospace";
|
||||
size = 12.0;
|
||||
};
|
||||
|
||||
assigns = {
|
||||
"${ws1}" = [
|
||||
assigns = {
|
||||
"${ws1}" = [
|
||||
{ class = "^Firefox$"; }
|
||||
{ class = "firefox"; }
|
||||
{ class = "Firefox"; }
|
||||
];
|
||||
"${ws4}" = [{ class="Pidgin"; }];
|
||||
"${ws5}" = [{ class="Thunar"; }];
|
||||
"${ws6}" = [{ class="libreoffice-startcenter"; }];
|
||||
"${ws7}" = [{ class="Thunderbird"; }];
|
||||
};
|
||||
];
|
||||
"${ws4}" = [{ class="Pidgin"; }];
|
||||
"${ws5}" = [{ class="Thunar"; }];
|
||||
"${ws6}" = [{ class="libreoffice-startcenter"; }];
|
||||
"${ws7}" = [{ class="Thunderbird"; }];
|
||||
};
|
||||
|
||||
floating = {
|
||||
criteria = [
|
||||
floating = {
|
||||
criteria = [
|
||||
{ window_role = "pop-up"; }
|
||||
{ window_role = "task_dialog"; }
|
||||
{ title = "Preferences$"; }
|
||||
@ -76,107 +63,106 @@ in {
|
||||
{ class = "KeePassXC"; }
|
||||
{ class = "^Pavucontrol$"; }
|
||||
{ class = "^Pinentry-gtk-2$"; }
|
||||
];
|
||||
};
|
||||
|
||||
terminal = "alacritty";
|
||||
|
||||
keybindings = lib.mkOptionDefault {
|
||||
"${mod}+Shift+q" = "kill";
|
||||
"${mod}+h" = "focus left";
|
||||
"${mod}+j" = "focus down";
|
||||
"${mod}+k" = "focus up";
|
||||
"${mod}+l" = "focus right";
|
||||
"${mod}+Left" = "focus left";
|
||||
"${mod}+Down" = "focus down";
|
||||
"${mod}+Up" = "focus up";
|
||||
"${mod}+Right" = "focus right";
|
||||
"${mod}+Shift+h" = "move left";
|
||||
"${mod}+Shift+j" = "move down";
|
||||
"${mod}+Shift+k" = "move up";
|
||||
"${mod}+Shift+l" = "move right";
|
||||
"${mod}+Shift+Left" = "move left";
|
||||
"${mod}+Shift+Down" = "move down";
|
||||
"${mod}+Shift+Up" = "move up";
|
||||
"${mod}+Shift+Right" = "move right";
|
||||
"${mod}+b" = "split h";
|
||||
"${mod}+v" = "split v";
|
||||
"${mod}+s" = "layout stacking";
|
||||
"${mod}+w" = "layout tabbed";
|
||||
"${mod}+e" = "layout toggle split";
|
||||
"${mod}+Shift+space" = "floating toggle";
|
||||
"${mod}+space" = "focus mode_toggle";
|
||||
"${mod}+a" = "focus parent";
|
||||
"${mod}+d" = "exec rofi -show drun";
|
||||
"${mod}+Tab" = "exec rofi -show window";
|
||||
|
||||
"${mod}+1" = "workspace ${ws1}";
|
||||
"${mod}+2" = "workspace ${ws2}";
|
||||
"${mod}+3" = "workspace ${ws3}";
|
||||
"${mod}+4" = "workspace ${ws4}; layout tabbed";
|
||||
"${mod}+5" = "workspace ${ws5}";
|
||||
"${mod}+6" = "workspace ${ws6}";
|
||||
"${mod}+7" = "workspace ${ws7}; layout tabbed";
|
||||
"${mod}+8" = "workspace ${ws8}";
|
||||
"${mod}+9" = "workspace ${ws9}";
|
||||
"${mod}+0" = "workspace ${ws10}";
|
||||
"${mod}+Shift+1" = "move container to workspace ${ws1}";
|
||||
"${mod}+Shift+2" = "move container to workspace ${ws2}";
|
||||
"${mod}+Shift+3" = "move container to workspace ${ws3}";
|
||||
"${mod}+Shift+4" = "move container to workspace ${ws4}";
|
||||
"${mod}+Shift+5" = "move container to workspace ${ws5}";
|
||||
"${mod}+Shift+6" = "move container to workspace ${ws6}";
|
||||
"${mod}+Shift+7" = "move container to workspace ${ws7}";
|
||||
"${mod}+Shift+8" = "move container to workspace ${ws8}";
|
||||
"${mod}+Shift+9" = "move container to workspace ${ws9}";
|
||||
"${mod}+Shift+0" = "move container to workspace ${ws10}";
|
||||
|
||||
"${mod}+Shift+c" = "reload";
|
||||
"${mod}+Shift+r" = "restart";
|
||||
"${mod}+Shift+e" = "exec \"i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'\"";
|
||||
|
||||
"${mod}+r" = "mode \"resize\"";
|
||||
"${mod}+x" = "mode \"${mode_system}\"";
|
||||
|
||||
"${mod}+Shift+x" = "exec i3lock-fancy-rapid 5 3";
|
||||
};
|
||||
|
||||
modes = {
|
||||
resize = {
|
||||
h = "resize shrink width 10 px or 10 ppt";
|
||||
j = "resize grow height 10 px or 10 ppt";
|
||||
k = "resize shrink height 10 px or 10 ppt";
|
||||
l = "resize grow width 10 px or 10 ppt";
|
||||
|
||||
Left = "resize shrink width 10 px or 10 ppt";
|
||||
Down = "resize grow height 10 px or 10 ppt";
|
||||
Up = "resize shrink height 10 px or 10 ppt";
|
||||
Right = "resize grow width 10 px or 10 ppt";
|
||||
|
||||
Return = "mode \"default\"";
|
||||
Escape = "mode \"default\"";
|
||||
};
|
||||
"${mode_system}" = {
|
||||
l = "exec ~/bin/lock.sh, mode \"default\"";
|
||||
s = "exec $Lock systemctl suspend, mode \"default\"";
|
||||
p = "exec systemctl poweroff -i, mode \"default\"";
|
||||
r = "exec systemctl reboot, mode \"default\"";
|
||||
e = "exec i3-msg exit, mode \"default\"";
|
||||
|
||||
# back to normal: Enter or Escape or mod+x again
|
||||
Return = "mode \"default\"";
|
||||
Escape = "mode \"default\"";
|
||||
"${mod}+x" = "mode \"default\"";
|
||||
};
|
||||
};
|
||||
window = {
|
||||
hideEdgeBorders = "both";
|
||||
# disable titlebar
|
||||
titlebar = false;
|
||||
};
|
||||
];
|
||||
};
|
||||
|
||||
terminal = "alacritty";
|
||||
|
||||
keybindings = lib.mkOptionDefault {
|
||||
"${mod}+Shift+q" = "kill";
|
||||
"${mod}+h" = "focus left";
|
||||
"${mod}+j" = "focus down";
|
||||
"${mod}+k" = "focus up";
|
||||
"${mod}+l" = "focus right";
|
||||
"${mod}+Left" = "focus left";
|
||||
"${mod}+Down" = "focus down";
|
||||
"${mod}+Up" = "focus up";
|
||||
"${mod}+Right" = "focus right";
|
||||
"${mod}+Shift+h" = "move left";
|
||||
"${mod}+Shift+j" = "move down";
|
||||
"${mod}+Shift+k" = "move up";
|
||||
"${mod}+Shift+l" = "move right";
|
||||
"${mod}+Shift+Left" = "move left";
|
||||
"${mod}+Shift+Down" = "move down";
|
||||
"${mod}+Shift+Up" = "move up";
|
||||
"${mod}+Shift+Right" = "move right";
|
||||
"${mod}+b" = "split h";
|
||||
"${mod}+v" = "split v";
|
||||
"${mod}+s" = "layout stacking";
|
||||
"${mod}+w" = "layout tabbed";
|
||||
"${mod}+e" = "layout toggle split";
|
||||
"${mod}+Shift+space" = "floating toggle";
|
||||
"${mod}+space" = "focus mode_toggle";
|
||||
"${mod}+a" = "focus parent";
|
||||
"${mod}+d" = "exec rofi -show drun";
|
||||
"${mod}+Tab" = "exec rofi -show window";
|
||||
|
||||
"${mod}+1" = "workspace ${ws1}";
|
||||
"${mod}+2" = "workspace ${ws2}";
|
||||
"${mod}+3" = "workspace ${ws3}";
|
||||
"${mod}+4" = "workspace ${ws4}; layout tabbed";
|
||||
"${mod}+5" = "workspace ${ws5}";
|
||||
"${mod}+6" = "workspace ${ws6}";
|
||||
"${mod}+7" = "workspace ${ws7}; layout tabbed";
|
||||
"${mod}+8" = "workspace ${ws8}";
|
||||
"${mod}+9" = "workspace ${ws9}";
|
||||
"${mod}+0" = "workspace ${ws10}";
|
||||
"${mod}+Shift+1" = "move container to workspace ${ws1}";
|
||||
"${mod}+Shift+2" = "move container to workspace ${ws2}";
|
||||
"${mod}+Shift+3" = "move container to workspace ${ws3}";
|
||||
"${mod}+Shift+4" = "move container to workspace ${ws4}";
|
||||
"${mod}+Shift+5" = "move container to workspace ${ws5}";
|
||||
"${mod}+Shift+6" = "move container to workspace ${ws6}";
|
||||
"${mod}+Shift+7" = "move container to workspace ${ws7}";
|
||||
"${mod}+Shift+8" = "move container to workspace ${ws8}";
|
||||
"${mod}+Shift+9" = "move container to workspace ${ws9}";
|
||||
"${mod}+Shift+0" = "move container to workspace ${ws10}";
|
||||
|
||||
"${mod}+Shift+c" = "reload";
|
||||
"${mod}+Shift+r" = "restart";
|
||||
"${mod}+Shift+e" = "exec \"i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'\"";
|
||||
|
||||
"${mod}+r" = "mode \"resize\"";
|
||||
"${mod}+x" = "mode \"${mode_system}\"";
|
||||
|
||||
"${mod}+Shift+x" = "exec i3lock-fancy -n";
|
||||
};
|
||||
|
||||
modes = {
|
||||
resize = {
|
||||
h = "resize shrink width 10 px or 10 ppt";
|
||||
j = "resize grow height 10 px or 10 ppt";
|
||||
k = "resize shrink height 10 px or 10 ppt";
|
||||
l = "resize grow width 10 px or 10 ppt";
|
||||
|
||||
Left = "resize shrink width 10 px or 10 ppt";
|
||||
Down = "resize grow height 10 px or 10 ppt";
|
||||
Up = "resize shrink height 10 px or 10 ppt";
|
||||
Right = "resize grow width 10 px or 10 ppt";
|
||||
|
||||
Return = "mode \"default\"";
|
||||
Escape = "mode \"default\"";
|
||||
};
|
||||
"${mode_system}" = {
|
||||
l = "exec ~/bin/lock.sh, mode \"default\"";
|
||||
s = "exec $Lock systemctl suspend, mode \"default\"";
|
||||
p = "exec systemctl poweroff -i, mode \"default\"";
|
||||
r = "exec systemctl reboot, mode \"default\"";
|
||||
e = "exec i3-msg exit, mode \"default\"";
|
||||
|
||||
# back to normal: Enter or Escape or mod+x again
|
||||
Return = "mode \"default\"";
|
||||
Escape = "mode \"default\"";
|
||||
"${mod}+x" = "mode \"default\"";
|
||||
};
|
||||
};
|
||||
window = {
|
||||
hideEdgeBorders = "both";
|
||||
# disable titlebar
|
||||
titlebar = false;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -1,6 +0,0 @@
|
||||
{ ... }: {
|
||||
services.kdeconnect = {
|
||||
enable = true;
|
||||
indicator = true;
|
||||
};
|
||||
}
|
@ -28,7 +28,7 @@ let
|
||||
showSignature = "append";
|
||||
};
|
||||
aerc = {
|
||||
enable = false;
|
||||
enable = true;
|
||||
extraAccounts = {
|
||||
pgp-opportunistic-encrypt = true;
|
||||
pgp-autosign = true;
|
||||
@ -38,7 +38,7 @@ let
|
||||
enable = true;
|
||||
/* TODO: which boxes? */
|
||||
boxes = [ "Inbox" ];
|
||||
onNotify = "${pkgs.isync}/bin/mbsync ${configName}";
|
||||
onNotify = "mbsync ${configName}";
|
||||
onNotifyPost = "${pkgs.libnotify}/bin/notify-send -a mail '${configName}: new in %s'";
|
||||
};
|
||||
mbsync = {
|
||||
@ -75,7 +75,7 @@ in {
|
||||
home.packages = with pkgs; [
|
||||
libsecret
|
||||
libnotify
|
||||
urlscan
|
||||
urlview
|
||||
];
|
||||
home.file.mailcap = {
|
||||
target = ".mailcap";
|
||||
@ -84,7 +84,7 @@ in {
|
||||
|
||||
programs.password-store.enable = true;
|
||||
programs.aerc = {
|
||||
enable = false;
|
||||
enable = true;
|
||||
extraConfig = builtins.readFile ./aerc/aerc.conf;
|
||||
/* { */
|
||||
/* general = { */
|
||||
@ -104,10 +104,6 @@ in {
|
||||
services.imapnotify.enable = true;
|
||||
programs.notmuch = {
|
||||
enable = true;
|
||||
hooks.postNew = ''
|
||||
# remove inbox tag from moved messages
|
||||
notmuch tag -inbox not 'folder:/.*\/Inbox/'
|
||||
'';
|
||||
};
|
||||
|
||||
programs.neomutt = {
|
||||
@ -118,12 +114,8 @@ in {
|
||||
macros = [
|
||||
{ map = [ "pager" "index" ];
|
||||
key = "B";
|
||||
action = "|urlscan\\n";
|
||||
action = "|urlview\\n";
|
||||
}
|
||||
/*{ map = [ "pager" "index" ];
|
||||
key = "dd";
|
||||
action = ":set delete = yes\\n<clear-flag>N<delete-message>";
|
||||
}*/
|
||||
];
|
||||
binds = [
|
||||
/* sidebar */
|
||||
@ -234,18 +226,12 @@ in {
|
||||
key = "zA";
|
||||
action = "collapse-all";
|
||||
}
|
||||
|
||||
/* search with notmuch */
|
||||
{ map = [ "pager" "index" ];
|
||||
key = "S";
|
||||
action = "vfolder-from-query";
|
||||
}
|
||||
];
|
||||
};
|
||||
programs.msmtp.enable = true;
|
||||
|
||||
accounts.email.accounts = let
|
||||
aliases = ".*@vbrandl.net";
|
||||
aliases = "mail(\\+.*)?@vbrandl.net";
|
||||
in {
|
||||
vbrandl = (
|
||||
mailBaseConfig {
|
||||
|
@ -27,31 +27,27 @@ require('packer').startup(function(use)
|
||||
}
|
||||
|
||||
use {
|
||||
"mrcjkb/rustaceanvim",
|
||||
ft = { 'rust' },
|
||||
'simrat39/rust-tools.nvim',
|
||||
requires = {
|
||||
{
|
||||
"lvimuser/lsp-inlayhints.nvim",
|
||||
opts = {}
|
||||
},
|
||||
{ "nvim-lua/plenary.nvim" },
|
||||
{ "mfussenegger/nvim-dap" },
|
||||
{ 'neovim/nvim-lspconfig' },
|
||||
|
||||
-- Debugging
|
||||
{ 'nvim-lua/plenary.nvim' },
|
||||
{ 'mfussenegger/nvim-dap' },
|
||||
},
|
||||
config = function()
|
||||
vim.g.rustaceanvim = {
|
||||
tools = {
|
||||
hover_actions = {
|
||||
auto_focus = true,
|
||||
},
|
||||
},
|
||||
local rt = require("rust-tools")
|
||||
|
||||
rt.setup({
|
||||
server = {
|
||||
on_attach = function(client, bufnr)
|
||||
require("lsp-inlayhints").setup()
|
||||
require("lsp-inlayhints").on_attach(client, bufnr)
|
||||
require("lsp-inlayhints").show()
|
||||
end
|
||||
}
|
||||
}
|
||||
on_attach = function(_, bufnr)
|
||||
-- Hover actions
|
||||
vim.keymap.set("n", "<C-space>", rt.hover_actions.hover_actions, { buffer = bufnr })
|
||||
-- Code action groups
|
||||
vim.keymap.set("n", "<Leader>a", rt.code_action_group.code_action_group, { buffer = bufnr })
|
||||
end,
|
||||
},
|
||||
})
|
||||
end,
|
||||
}
|
||||
|
||||
@ -68,7 +64,7 @@ require('packer').startup(function(use)
|
||||
|
||||
-- use { 'kien/ctrlp.vim' }
|
||||
use {
|
||||
'nvim-telescope/telescope.nvim',
|
||||
'nvim-telescope/telescope.nvim', tag = '0.1.0',
|
||||
requires = {
|
||||
{ 'nvim-lua/plenary.nvim' }
|
||||
},
|
||||
@ -118,6 +114,7 @@ require('packer').startup(function(use)
|
||||
-- ui stuff
|
||||
use {
|
||||
'akinsho/bufferline.nvim',
|
||||
tag = "v3.*",
|
||||
requires = 'nvim-tree/nvim-web-devicons',
|
||||
config = function()
|
||||
require("bufferline").setup {}
|
||||
|
@ -67,6 +67,9 @@ set undofile
|
||||
" clear highlighted search
|
||||
noremap <space> :nohlsearch<cr>
|
||||
|
||||
" Highlight symbol under cursor on CursorHold
|
||||
autocmd CursorHold * silent call CocActionAsync('highlight')
|
||||
|
||||
" Append modeline after last line in buffer.
|
||||
" Use substitute() instead of printf() to handle '%%s' modeline in LaTeX files.
|
||||
function! AppendModeline()
|
||||
|
@ -1,12 +1,469 @@
|
||||
{ pkgs, ... }: {
|
||||
programs.neovim = {
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
config = {
|
||||
plugins = with pkgs.vimPlugins; [
|
||||
packer-nvim
|
||||
# vim-colors-solarized
|
||||
|
||||
# coc-nvim
|
||||
# coc-rust-analyzer
|
||||
# coc-pyright
|
||||
# coc-go
|
||||
|
||||
# # orgmode-nvim
|
||||
# # nvim-treesitter
|
||||
|
||||
# ctrlp-vim
|
||||
# editorconfig-vim
|
||||
# vim-gist
|
||||
# goyo-vim
|
||||
# # gopls
|
||||
# neomake
|
||||
# rust-vim
|
||||
# solarized
|
||||
# vim-commentary
|
||||
# vim-dispatch
|
||||
# vim-fugitive
|
||||
# vim-gitgutter
|
||||
# vim-lastplace
|
||||
# vim-nix
|
||||
# vim-polyglot
|
||||
# vim-repeat
|
||||
# # vim-scala
|
||||
# vim-sleuth
|
||||
# vim-surround
|
||||
# vim-trailing-whitespace
|
||||
# # vimtex
|
||||
# vimux
|
||||
# vimwiki
|
||||
];
|
||||
enable = true;
|
||||
# extraConfig = ''
|
||||
# set background=dark
|
||||
# " allow switching away from unsaved buffers
|
||||
# set hidden
|
||||
# set history=1000
|
||||
|
||||
# set updatetime=300
|
||||
|
||||
# set expandtab
|
||||
# set shiftwidth=2
|
||||
# set tabstop=2
|
||||
|
||||
# set ignorecase
|
||||
# set smartcase
|
||||
|
||||
# set number
|
||||
# set relativenumber
|
||||
|
||||
# set backupdir=$HOME/.vim/backupfiles//
|
||||
# set directory=$HOME/.vim/swapfiles//
|
||||
# set undodir=$HOME/.vim/undofiles//
|
||||
# set undofile
|
||||
|
||||
# set nocompatible
|
||||
|
||||
# filetype plugin indent on
|
||||
|
||||
# " always set autoindenting on
|
||||
# set autoindent
|
||||
# " smart indent; stop indent when closing brackets etc
|
||||
# set smartindent
|
||||
# " two spaces after .?! when joining lines
|
||||
# set joinspaces
|
||||
|
||||
# " highlight search result
|
||||
# set hlsearch
|
||||
# " incremental search
|
||||
# set incsearch
|
||||
# set nolazyredraw
|
||||
|
||||
# " delete whitespace, line break and char using <BS>
|
||||
# set backspace=indent,eol,start
|
||||
# " always show curser position
|
||||
# set ruler
|
||||
|
||||
# " yank into system clipboard
|
||||
# set clipboard=unnamedplus
|
||||
|
||||
# colorscheme solarized
|
||||
# " true color
|
||||
# set termguicolors
|
||||
# " make true colors work in tmux
|
||||
# let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
|
||||
# let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
|
||||
|
||||
# " set textwidth=80
|
||||
# set colorcolumn=+1
|
||||
# set signcolumn=yes
|
||||
# " highlight current line
|
||||
# set cursorline
|
||||
|
||||
# " encoding
|
||||
# set fileencoding=utf-8
|
||||
|
||||
# " break at last word instead of last char
|
||||
# set linebreak
|
||||
|
||||
# " autoload file changes
|
||||
# set autoread
|
||||
|
||||
# set smarttab
|
||||
|
||||
# set softtabstop=2
|
||||
# set shiftround
|
||||
|
||||
# " invisible characters
|
||||
# set list
|
||||
# " set listchars=tab:â\ ,eol:¬,trail:â,extends:â¯,precedes:â®
|
||||
# " set showbreak=âª
|
||||
|
||||
# " code folding settings
|
||||
# " fold based on syntax
|
||||
# set foldmethod=indent
|
||||
# " don't fold by default
|
||||
# set nofoldenable
|
||||
# set foldlevel=1
|
||||
|
||||
# " smoother redrawing
|
||||
# set ttyfast
|
||||
# " diff with vertical split
|
||||
# set diffopt+=vertical
|
||||
# " show the status line all the time
|
||||
# set laststatus=2
|
||||
# " keep 5 lines on the screen when scrolling
|
||||
# set scrolloff=5
|
||||
# " enhanced command line completion
|
||||
# set wildmenu
|
||||
# " Search down into subfolders
|
||||
# " Provides tab-completion for all file-related tasks
|
||||
# set path+=**
|
||||
|
||||
# " show incomplete commands
|
||||
# set showcmd
|
||||
|
||||
# " complete files like a shell
|
||||
# set wildmode=list:longest
|
||||
|
||||
# " command bar height
|
||||
# set cmdheight=1
|
||||
# " set terminal title
|
||||
# set title
|
||||
# " set shortmess+=TOFwatc
|
||||
# set shortmess+=c
|
||||
|
||||
# " show matching braces
|
||||
# set showmatch
|
||||
# " how many tenths of a second to blink
|
||||
# set mat=2
|
||||
# " set spell langs
|
||||
# set spelllang=de,en
|
||||
|
||||
# syntax enable
|
||||
# " let g:polyglot_disabled=['latex']
|
||||
# " highlight clear SpellBad
|
||||
# " highlight SpellBad cterm=undercurl
|
||||
|
||||
# " " Only do this part when compiled with support for autocommands.
|
||||
# " if has("autocmd")
|
||||
# " " Put these in an autocmd group, so that we can delete them easily.
|
||||
# " augroup vimrcEx
|
||||
# " au!
|
||||
# " autocmd FileType text setlocal foldtext<
|
||||
# " augroup END
|
||||
# " endif " has("autocmd")
|
||||
|
||||
# " error bells
|
||||
# set errorbells
|
||||
# set visualbell
|
||||
# set timeoutlen=500
|
||||
|
||||
# " turn on manpages (:Man)
|
||||
# runtime ftplugin/man.vim
|
||||
|
||||
# " set a map leader for more key combos
|
||||
# let mapleader=','
|
||||
|
||||
# " clear highlighted search
|
||||
# noremap <space> :nohlsearch<cr>
|
||||
|
||||
# " enable . command in visual mode
|
||||
# vnoremap . :normal .<cr>
|
||||
|
||||
# " make the highlighting of tabs and other non-text less annoying
|
||||
# highlight SpecialKey ctermbg=none ctermfg=8
|
||||
# highlight NonText ctermbg=none ctermfg=8
|
||||
|
||||
# " other color for popup
|
||||
# highlight Pmenu ctermbg=gray guibg=gray
|
||||
|
||||
# " ctrlp
|
||||
# " order top to bottom
|
||||
# let g:ctrlp_match_window='bottom,order::ttb'
|
||||
# " open files in new buffer
|
||||
# let g:ctrlp_switch_buffer=0
|
||||
# " use ripgrep if available
|
||||
# if executable('rg')
|
||||
# set grepprg=rg\ --color=never
|
||||
# let g:ctrlp_user_command='rg %s --files -i --color=never --glob ""'
|
||||
# let g:ctrlp_use_caching=0
|
||||
# endif
|
||||
|
||||
# " set textwidth for mails
|
||||
# autocmd FileType mail setlocal textwidth=72
|
||||
|
||||
# " count wraped lines as one line when doing relative jumps
|
||||
# noremap <silent> <expr> j (v:count == 0 ? 'gj' : 'j')
|
||||
# noremap <silent> <expr> k (v:count == 0 ? 'gk' : 'k')
|
||||
|
||||
# " scroll the viewport faster
|
||||
# nnoremap <C-e> 3<C-e>
|
||||
# nnoremap <C-y> 3<C-y>
|
||||
|
||||
# "" Section AutoGroups {{{
|
||||
# "" file type specific settings
|
||||
# augroup configgroup
|
||||
# autocmd!
|
||||
|
||||
# " automatically resize panes on resize
|
||||
# autocmd VimResized * exe 'normal! \<c-w>='
|
||||
# autocmd BufWritePost .vimrc,.vimrc.local,init.vim source %
|
||||
# " save all files on focus lost, ignoring warnings about untitled buffers
|
||||
# autocmd FocusLost * silent! wa
|
||||
|
||||
# " make quickfix windows take all the lower section of the screen
|
||||
# " when there are multiple windows open
|
||||
# autocmd FileType qf wincmd J
|
||||
|
||||
# autocmd! BufWritePost * Neomake
|
||||
# augroup END
|
||||
# " }}}
|
||||
|
||||
# " Append modeline after last line in buffer.
|
||||
# " Use substitute() instead of printf() to handle '%%s' modeline in LaTeX files.
|
||||
# function! AppendModeline()
|
||||
# let l:modeline = printf(" vim: set filetype=%s ts=%d sw=%d tw=%d %s :",
|
||||
# \ &filetype, &tabstop, &shiftwidth, &textwidth, &expandtab ? 'et' : 'noet')
|
||||
# let l:modeline = substitute(&commentstring, "%s", l:modeline, "")
|
||||
# call append(line("$"), l:modeline)
|
||||
# endfunction
|
||||
# nnoremap <silent> <Leader>ml :call AppendModeline()<CR>
|
||||
|
||||
# " netrw settings
|
||||
# " disable banner
|
||||
# let g:netrw_banner=0
|
||||
# " open in prior window
|
||||
# let g:netrw_browse_split=4
|
||||
# " open splits to the right
|
||||
# let g:netrw_altv=1
|
||||
# " treeview
|
||||
# let g:netrw_liststyle=3
|
||||
# let g:netrw_list_hide=netrw_gitignore#Hide()
|
||||
# let g:netrw_list_hide.=',\(^\|\s\s\)\zs\.\S\+'
|
||||
|
||||
# " vimux mappings
|
||||
# " Prompt for a command
|
||||
# map <Leader>vp :VimuxPromptCommand<CR>
|
||||
# " Prompt for a make command
|
||||
# map <Leader>vm :VimuxPromptCommand("make ")<CR>
|
||||
# " Inspect runner pane
|
||||
# map <Leader>vi :VimuxInspectRunner<CR>
|
||||
# " Close runner
|
||||
# map <Leader>vq :VimuxCloseRunner<CR>
|
||||
# " Rerun last command
|
||||
# map <Leader>vv :VimuxRunLastCommand<CR>
|
||||
# " Stop running command
|
||||
# map <Leader>vs :VimuxInterruptRunner<CR>
|
||||
|
||||
# " close Goyo *and* vim with :q
|
||||
# function! s:goyo_enter()
|
||||
# let b:quitting=0
|
||||
# let b:quitting_bang=0
|
||||
# autocmd QuitPre <buffer> let b:quitting=1
|
||||
# cabbrev <buffer> q! let b:quitting_bang=1 <bar> q!
|
||||
# endfunction
|
||||
|
||||
# function! s:goyo_leave()
|
||||
# " Quit Vim if this is the only remaining buffer
|
||||
# if b:quitting && len(filter(range(1, bufnr('$')), 'buflisted(v:val)')) == 1
|
||||
# if b:quitting_bang
|
||||
# qa!
|
||||
# else
|
||||
# qa
|
||||
# endif
|
||||
# endif
|
||||
# endfunction
|
||||
# autocmd! User GoyoEnter call <SID>goyo_enter()
|
||||
# autocmd! User GoyoLeave call <SID>goyo_leave()
|
||||
|
||||
# " run rustfmt when saving a file
|
||||
# let g:rustfmt_autosave=1
|
||||
|
||||
# au BufRead,BufNewFile *.sbt set filetype=scala
|
||||
|
||||
# " textwidth for emails
|
||||
# au BufRead /tmp/*mutt-* set tw=72
|
||||
# augroup filetypedetect
|
||||
# " Mail
|
||||
# autocmd BufRead,BufNewFile *mutt-* setfiletype mail
|
||||
# augroup END
|
||||
|
||||
|
||||
# let g:coc_global_extensions = [
|
||||
# \ 'coc-explorer',
|
||||
# \ 'coc-snippets',
|
||||
# \ 'coc-pairs'
|
||||
# \ ]
|
||||
# nmap ge :CocCommand explorer<CR>
|
||||
# " Use tab for trigger completion with characters ahead and navigate.
|
||||
# " Use command ':verbose imap <tab>' to make sure tab is not mapped by other plugin.
|
||||
# inoremap <silent><expr> <TAB>
|
||||
# \ pumvisible() ? "\<C-n>" :
|
||||
# \ <SID>check_back_space() ? "\<TAB>" :
|
||||
# \ coc#refresh()
|
||||
# inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>"
|
||||
|
||||
# function! s:check_back_space() abort
|
||||
# let col = col('.') - 1
|
||||
# return !col || getline('.')[col - 1] =~# '\s'
|
||||
# endfunction
|
||||
|
||||
# " Use <c-space> to trigger completion.
|
||||
# inoremap <silent><expr> <c-space> coc#refresh()
|
||||
|
||||
# " Use <cr> to confirm completion, `<C-g>u` means break undo chain at current position.
|
||||
# " Coc only does snippet and additional edit on confirm.
|
||||
# inoremap <expr> <cr> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>"
|
||||
# " Or use `complete_info` if your vim support it, like:
|
||||
# " inoremap <expr> <cr> complete_info()["selected"] != "-1" ? "\<C-y>" : "\<C-g>u\<CR>"
|
||||
|
||||
# " Use `[g` and `]g` to navigate diagnostics
|
||||
# nmap <silent> [g <Plug>(coc-diagnostic-prev)
|
||||
# nmap <silent> ]g <Plug>(coc-diagnostic-next)
|
||||
|
||||
# " Remap keys for gotos
|
||||
# nmap <silent> gd <Plug>(coc-definition)
|
||||
# nmap <silent> gy <Plug>(coc-type-definition)
|
||||
# nmap <silent> gi <Plug>(coc-implementation)
|
||||
# nmap <silent> gr <Plug>(coc-references)
|
||||
|
||||
# " Use K to show documentation in preview window
|
||||
# nnoremap <silent> K :call <SID>show_documentation()<CR>
|
||||
|
||||
# function! s:show_documentation()
|
||||
# if (index(['vim','help'], &filetype) >= 0)
|
||||
# execute 'h '.expand('<cword>')
|
||||
# else
|
||||
# call CocAction('doHover')
|
||||
# endif
|
||||
# endfunction
|
||||
|
||||
# " Highlight symbol under cursor on CursorHold
|
||||
# autocmd CursorHold * silent call CocActionAsync('highlight')
|
||||
|
||||
# " Remap for rename current word
|
||||
# nmap <leader>rn <Plug>(coc-rename)
|
||||
|
||||
# " Remap for format selected region
|
||||
# xmap <leader>f <Plug>(coc-format-selected)
|
||||
# nmap <leader>f <Plug>(coc-format-selected)
|
||||
|
||||
# augroup mygroup
|
||||
# autocmd!
|
||||
# " Setup formatexpr specified filetype(s).
|
||||
# autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected')
|
||||
# " Update signature help on jump placeholder
|
||||
# autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp')
|
||||
# augroup end
|
||||
|
||||
# " Remap for do codeAction of selected region, ex: `<leader>aap` for current paragraph
|
||||
# xmap <leader>a <Plug>(coc-codeaction-selected)
|
||||
# nmap <leader>a <Plug>(coc-codeaction-selected)
|
||||
|
||||
# " Remap for do codeAction of current line
|
||||
# nmap <leader>ac <Plug>(coc-codeaction)
|
||||
# " Fix autofix problem of current line
|
||||
# nmap <leader>qf <Plug>(coc-fix-current)
|
||||
|
||||
# " Create mappings for function text object, requires document symbols feature of languageserver.
|
||||
# xmap if <Plug>(coc-funcobj-i)
|
||||
# xmap af <Plug>(coc-funcobj-a)
|
||||
# omap if <Plug>(coc-funcobj-i)
|
||||
# omap af <Plug>(coc-funcobj-a)
|
||||
|
||||
# " Use <C-d> for select selections ranges, needs server support, like: coc-tsserver, coc-python
|
||||
# nmap <silent> <C-d> <Plug>(coc-range-select)
|
||||
# xmap <silent> <C-d> <Plug>(coc-range-select)
|
||||
|
||||
# " Use `:Format` to format current buffer
|
||||
# command! -nargs=0 Format :call CocAction('format')
|
||||
|
||||
# " Use `:Fold` to fold current buffer
|
||||
# command! -nargs=? Fold :call CocAction('fold', <f-args>)
|
||||
|
||||
# " use `:OR` for organize import of current buffer
|
||||
# command! -nargs=0 OR :call CocAction('runCommand', 'editor.action.organizeImport')
|
||||
|
||||
# " Add status line support, for integration with other plugin, checkout `:h coc-status`
|
||||
# " set statusline^=%{coc#status()}%{get(b:,'coc_current_function',''')}
|
||||
|
||||
# " Using CocList
|
||||
# " Show all diagnostics
|
||||
# nnoremap <silent> <space>a :<C-u>CocList diagnostics<cr>
|
||||
# " Manage extensions
|
||||
# nnoremap <silent> <space>e :<C-u>CocList extensions<cr>
|
||||
# " Show commands
|
||||
# nnoremap <silent> <space>c :<C-u>CocList commands<cr>
|
||||
# " Find symbol of current document
|
||||
# nnoremap <silent> <space>o :<C-u>CocList outline<cr>
|
||||
# " Search workspace symbols
|
||||
# nnoremap <silent> <space>s :<C-u>CocList -I symbols<cr>
|
||||
# " Do default action for next item.
|
||||
# nnoremap <silent> <space>j :<C-u>CocNext<CR>
|
||||
# " Do default action for previous item.
|
||||
# nnoremap <silent> <space>k :<C-u>CocPrev<CR>
|
||||
# " Resume latest coc list
|
||||
# nnoremap <silent> <space>p :<C-u>CocListResume<CR>
|
||||
|
||||
# " properly find root for py projects in workspace
|
||||
# autocmd FileType python let b:coc_root_patterns = ['.git', '.env', 'venv', '.venv', 'setup.cfg', 'setup.py', 'pyproject.toml', 'pyrightconfig.json']
|
||||
|
||||
# " let g:tex_flavor = 'latex'
|
||||
# '';
|
||||
# lua << EOF
|
||||
# ${builtins.readFile ./init.lua}
|
||||
# EOF
|
||||
# generatedConfigs = {
|
||||
# lua = builtins.readFile ./plugins.lua;
|
||||
# };
|
||||
extraConfig = ''
|
||||
${builtins.readFile ./init.vim}
|
||||
|
||||
lua << EOF
|
||||
${builtins.readFile ./init.lua}
|
||||
EOF
|
||||
'';
|
||||
};
|
||||
in {
|
||||
# Note that this doesn’t merge deeply, so you couldn’t add to plugins. For that
|
||||
# you can use the nixos module system’s mkMerge with
|
||||
# programs.neovim = lib.mkMerge [ config { vimAlias = true; } ]
|
||||
|
||||
programs.neovim = {
|
||||
vimAlias = true;
|
||||
viAlias = true;
|
||||
plugins = with pkgs.unstable.vimPlugins; [
|
||||
astrocore
|
||||
astrolsp
|
||||
astroui
|
||||
];
|
||||
};
|
||||
coc = {
|
||||
enable = true;
|
||||
# settings = {
|
||||
# "rust-analyzer.serverPath" = "${pkgs.rust-analyzer}/bin/rust-analyzer";
|
||||
# "gopls.experimentalWorkspaceModule" = true;
|
||||
# };
|
||||
};
|
||||
} // config;
|
||||
# programs.vim = config;
|
||||
|
||||
# xdg.configFile."nvim/coc-settings.json".text = builtins.toJSON {
|
||||
# # "go.goplsPath" = "${gopls}/bin/gopls";
|
||||
# };
|
||||
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
{ config, pkgs, ... }: {
|
||||
{ pkgs, ... }: {
|
||||
services.polybar = {
|
||||
enable = config.xsession.windowManager.i3.enable;
|
||||
enable = true;
|
||||
config = {
|
||||
"bar/top" = {
|
||||
monitor = "\${env:MONITOR:}";
|
||||
@ -124,6 +124,7 @@
|
||||
};
|
||||
|
||||
script = ''
|
||||
polybar top &
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
@ -5,6 +5,8 @@
|
||||
gnumake
|
||||
pkg-config
|
||||
|
||||
i3lock-fancy
|
||||
|
||||
antigen
|
||||
nodejs
|
||||
fortune
|
||||
@ -26,7 +28,5 @@
|
||||
|
||||
/* obs-studio */
|
||||
# unstable.obs-v4l2sink
|
||||
|
||||
jellyfin-media-player
|
||||
];
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
{ ... }: {
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme.name = "gtk";
|
||||
platformTheme = "gtk";
|
||||
};
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
{ config, ... }: {
|
||||
{ ... }: {
|
||||
services.redshift = {
|
||||
enable = config.xsession.windowManager.i3.enable;
|
||||
enable = true;
|
||||
longitude = "49.01315";
|
||||
latitude = "12.1119";
|
||||
};
|
||||
|
@ -3,6 +3,7 @@
|
||||
cargo-edit
|
||||
# llvmPackages_latest.bintools
|
||||
llvmPackages_latest.llvm
|
||||
rust-analyzer
|
||||
rustup
|
||||
sccache
|
||||
xorriso
|
||||
|
@ -1,155 +0,0 @@
|
||||
{ lib, pkgs, ... }:
|
||||
let
|
||||
mod = "Mod4";
|
||||
ws1 = "1: www";
|
||||
ws2 = "2: >_";
|
||||
ws3 = "3: </>";
|
||||
ws4 = "4: IM";
|
||||
ws5 = "5: ./";
|
||||
ws6 = "6: doc";
|
||||
ws7 = "7: mail";
|
||||
ws8 = "8";
|
||||
ws9 = "9";
|
||||
ws10 = "10: media";
|
||||
|
||||
mode_system = "System: L : | S : | P : | R : | E : ";
|
||||
in {
|
||||
imports = [
|
||||
./gammastep.nix
|
||||
./kanshi.nix
|
||||
];
|
||||
|
||||
home.packages = with pkgs; [
|
||||
slurp # screenshot selection
|
||||
grim # screenshots
|
||||
wl-clipboard # copy/paste
|
||||
swaybg # background images
|
||||
];
|
||||
|
||||
# similar to i3-lock-fancy
|
||||
programs.swaylock = {
|
||||
enable = true;
|
||||
package = pkgs.swaylock-effects;
|
||||
settings = {
|
||||
screenshots = true;
|
||||
effect-blur = "7x5";
|
||||
clock = true;
|
||||
indicator = true;
|
||||
indicator-thickness = 7;
|
||||
};
|
||||
};
|
||||
|
||||
wayland.windowManager.sway = {
|
||||
enable = true;
|
||||
swaynag.enable = true;
|
||||
systemd.enable = true;
|
||||
config = {
|
||||
modifier = mod;
|
||||
|
||||
workspaceAutoBackAndForth = true;
|
||||
|
||||
fonts = {
|
||||
names = [ "NotoSans-Regular" "FontAwesome" ];
|
||||
style = "Monospace";
|
||||
size = 12.0;
|
||||
};
|
||||
|
||||
/* TODO: background
|
||||
output = {
|
||||
"*" = {
|
||||
bg = "/home/me/media/Pictures/wallpapers/gargantua-black-3840x2160-11475.jpg fill";
|
||||
};
|
||||
};
|
||||
*/
|
||||
|
||||
assigns = {
|
||||
"${ws1}" = [ { app_id = "firefox"; } ];
|
||||
"${ws5}" = [ { app_id="thunar"; } ];
|
||||
"${ws7}" = [ { class="Thunderbird"; } ];
|
||||
};
|
||||
|
||||
floating = {
|
||||
criteria = [
|
||||
{ window_role = "pop-up"; }
|
||||
{ window_role = "task_dialog"; }
|
||||
{ title = "Preferences$"; }
|
||||
{ app_id = "org.keepassxc.KeePassXC"; }
|
||||
{ app_id = "pavucontrol"; }
|
||||
{ class = "^Pinentry-gtk-2$"; }
|
||||
];
|
||||
};
|
||||
|
||||
terminal = "alacritty";
|
||||
|
||||
keybindings = lib.mkOptionDefault {
|
||||
"${mod}+b" = "split h";
|
||||
"${mod}+v" = "split v";
|
||||
"${mod}+s" = "layout stacking";
|
||||
"${mod}+w" = "layout tabbed";
|
||||
"${mod}+e" = "layout toggle split";
|
||||
"${mod}+space" = "focus mode_toggle";
|
||||
"${mod}+d" = "exec rofi -show drun";
|
||||
"${mod}+Tab" = "exec rofi -show window";
|
||||
|
||||
"${mod}+1" = "workspace ${ws1}";
|
||||
"${mod}+2" = "workspace ${ws2}";
|
||||
"${mod}+3" = "workspace ${ws3}";
|
||||
"${mod}+4" = "workspace ${ws4}; layout tabbed";
|
||||
"${mod}+5" = "workspace ${ws5}";
|
||||
"${mod}+6" = "workspace ${ws6}";
|
||||
"${mod}+7" = "workspace ${ws7}; layout tabbed";
|
||||
"${mod}+8" = "workspace ${ws8}";
|
||||
"${mod}+9" = "workspace ${ws9}";
|
||||
"${mod}+0" = "workspace ${ws10}";
|
||||
|
||||
"${mod}+Shift+1" = "move container to workspace ${ws1}";
|
||||
"${mod}+Shift+2" = "move container to workspace ${ws2}";
|
||||
"${mod}+Shift+3" = "move container to workspace ${ws3}";
|
||||
"${mod}+Shift+4" = "move container to workspace ${ws4}";
|
||||
"${mod}+Shift+5" = "move container to workspace ${ws5}";
|
||||
"${mod}+Shift+6" = "move container to workspace ${ws6}";
|
||||
"${mod}+Shift+7" = "move container to workspace ${ws7}";
|
||||
"${mod}+Shift+8" = "move container to workspace ${ws8}";
|
||||
"${mod}+Shift+9" = "move container to workspace ${ws9}";
|
||||
"${mod}+Shift+0" = "move container to workspace ${ws10}";
|
||||
|
||||
"${mod}+Shift+r" = "reload";
|
||||
|
||||
"${mod}+r" = "mode \"resize\"";
|
||||
"${mod}+x" = "mode \"${mode_system}\"";
|
||||
|
||||
"${mod}+Shift+x" = "exec swaylock";
|
||||
};
|
||||
|
||||
modes = {
|
||||
resize = {
|
||||
h = "resize shrink width 10 px or 10 ppt";
|
||||
j = "resize grow height 10 px or 10 ppt";
|
||||
k = "resize shrink height 10 px or 10 ppt";
|
||||
l = "resize grow width 10 px or 10 ppt";
|
||||
|
||||
Return = "mode \"default\"";
|
||||
Escape = "mode \"default\"";
|
||||
"${mod}+r" = "mode \"default\"";
|
||||
};
|
||||
"${mode_system}" = {
|
||||
l = "exec ~/bin/lock.sh, mode \"default\"";
|
||||
s = "exec $Lock systemctl suspend, mode \"default\"";
|
||||
p = "exec systemctl poweroff -i, mode \"default\"";
|
||||
r = "exec systemctl reboot, mode \"default\"";
|
||||
e = "exec i3-msg exit, mode \"default\"";
|
||||
|
||||
# back to normal: Enter or Escape or mod+x again
|
||||
Return = "mode \"default\"";
|
||||
Escape = "mode \"default\"";
|
||||
"${mod}+x" = "mode \"default\"";
|
||||
};
|
||||
};
|
||||
window = {
|
||||
hideEdgeBorders = "both";
|
||||
# disable titlebar
|
||||
titlebar = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
{ ... }: {
|
||||
services.gammastep = {
|
||||
enable = true;
|
||||
longitude = "49.01315";
|
||||
latitude = "12.1119";
|
||||
};
|
||||
}
|
@ -1,34 +0,0 @@
|
||||
{ config, ... }: {
|
||||
# automatically configure monitor layout depending on connected devices
|
||||
# https://git.sr.ht/~emersion/kanshi
|
||||
services.kanshi = {
|
||||
enable = config.wayland.windowManager.sway.enable;
|
||||
settings = [
|
||||
{
|
||||
profile = {
|
||||
name = "home";
|
||||
outputs = [
|
||||
{
|
||||
criteria = "eDP-1";
|
||||
position = "0,0";
|
||||
}
|
||||
{
|
||||
criteria = "HDMI-A-1";
|
||||
position = "1920,0";
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
{
|
||||
profile = {
|
||||
name = "mobile";
|
||||
outputs = [
|
||||
{
|
||||
criteria = "eDP-1";
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
100
home/waybar.nix
100
home/waybar.nix
@ -1,100 +0,0 @@
|
||||
{ config, pkgs, ... }: {
|
||||
programs.waybar = {
|
||||
enable = config.wayland.windowManager.sway.enable;
|
||||
systemd.enable = true;
|
||||
settings = {
|
||||
mainBar = {
|
||||
layer = "top";
|
||||
position = "top";
|
||||
height = 30;
|
||||
output = [
|
||||
"eDP-1"
|
||||
"HDMI-A-1"
|
||||
];
|
||||
modules-left = ["sway/workspaces" "sway/mode"];
|
||||
#modules-center = ["sway/window"];
|
||||
modules-right = [
|
||||
"pulseaudio"
|
||||
"network"
|
||||
"disk"
|
||||
"memory"
|
||||
"cpu"
|
||||
"battery"
|
||||
"clock#date"
|
||||
"clock#time"
|
||||
"tray"
|
||||
];
|
||||
|
||||
"disk" = {
|
||||
format = "Disk {percentage_free}%";
|
||||
};
|
||||
|
||||
"pulseaudio" = {
|
||||
format = "{volume}% {format_source}";
|
||||
on-click = "pavucontrol";
|
||||
};
|
||||
|
||||
"cpu" = {
|
||||
format = "CPU {usage}% ({load})";
|
||||
states = {
|
||||
warning = "70";
|
||||
critical = "90";
|
||||
};
|
||||
};
|
||||
|
||||
"memory" = {
|
||||
format = "Mem {}%";
|
||||
states = {
|
||||
warning = "70";
|
||||
critical = "90";
|
||||
};
|
||||
};
|
||||
|
||||
"network" = {
|
||||
format-wifi = " {essid} ({signalStrength}%)";
|
||||
format-ethernet = " {ifname}: {ipaddr}/{cidr}";
|
||||
format-disconnected = "⚠ Disconnected";
|
||||
};
|
||||
|
||||
"battery" = {
|
||||
states = {
|
||||
warning = "30";
|
||||
critical = "15";
|
||||
};
|
||||
format = " {icon} {capacity}%";
|
||||
format-discharging = "{icon} {capacity}%";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
};
|
||||
|
||||
tray = {
|
||||
icon-size = 21;
|
||||
spacing = 10;
|
||||
};
|
||||
|
||||
"clock#time" = {
|
||||
interval = 1;
|
||||
format = "{:%H:%M:%S}";
|
||||
};
|
||||
|
||||
"clock#date" = {
|
||||
format = "{:%e %B %Y}";
|
||||
};
|
||||
|
||||
"sway/workspaces" = {
|
||||
all-outputs = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
package = pkgs.waybar.override {
|
||||
pulseSupport = true;
|
||||
#i3Support = true;
|
||||
};
|
||||
};
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
{ pkgs, ... }: {
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
autosuggestion.enable = true;
|
||||
enableAutosuggestions = true;
|
||||
enableCompletion = true;
|
||||
autocd = true;
|
||||
dotDir = ".config/zsh";
|
||||
|
@ -1,7 +1,7 @@
|
||||
inputs:
|
||||
{ config, lib, pkgs, ... }: {
|
||||
nix = {
|
||||
package = pkgs.nixStable;
|
||||
package = pkgs.nixUnstable;
|
||||
extraOptions = ''
|
||||
experimental-features = nix-command flakes
|
||||
'';
|
||||
@ -26,21 +26,21 @@ inputs:
|
||||
i18n.defaultLocale = "en_GB.UTF-8";
|
||||
time.timeZone = "Europe/Berlin";
|
||||
|
||||
#sound.enable = true;
|
||||
sound.enable = true;
|
||||
|
||||
hardware = {
|
||||
# TODO: remove
|
||||
enableAllFirmware = true;
|
||||
#pulseaudio = {
|
||||
pulseaudio = {
|
||||
# TODO: pipewire
|
||||
#enable = true;
|
||||
enable = true;
|
||||
# stop mumble from muting other processes
|
||||
#extraConfig = "unload-module module-role-cork";
|
||||
#};
|
||||
graphics = {
|
||||
extraConfig = "unload-module module-role-cork";
|
||||
};
|
||||
opengl = {
|
||||
enable = true;
|
||||
# driSupport = true;
|
||||
enable32Bit = true;
|
||||
driSupport32Bit = true;
|
||||
};
|
||||
};
|
||||
|
||||
@ -66,13 +66,9 @@ inputs:
|
||||
|
||||
# Enable CUPS to print documents.
|
||||
printing.enable = true;
|
||||
|
||||
pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
enable = false;
|
||||
pulse.enable = true;
|
||||
wireplumber.enable = true;
|
||||
};
|
||||
# required for nextcloud
|
||||
gnome.gnome-keyring.enable = true;
|
||||
@ -86,25 +82,26 @@ inputs:
|
||||
enable = true;
|
||||
};
|
||||
|
||||
displayManager = {
|
||||
#defaultSession = "none+i3";
|
||||
defaultSession = "sway";
|
||||
};
|
||||
|
||||
xserver = {
|
||||
enable = true;
|
||||
|
||||
xkb = {
|
||||
options = "caps:escape";
|
||||
layout = "eu";
|
||||
};
|
||||
layout = "eu";
|
||||
xkbOptions = "caps:escape";
|
||||
|
||||
displayManager = {
|
||||
gdm.enable = true;
|
||||
defaultSession = "none+i3";
|
||||
lightdm.enable = true;
|
||||
};
|
||||
|
||||
windowManager.i3 = {
|
||||
enable = true;
|
||||
extraPackages = with pkgs; [
|
||||
dmenu
|
||||
rofi
|
||||
i3status
|
||||
i3lock
|
||||
i3blocks
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -113,18 +110,6 @@ inputs:
|
||||
"L+ /lib64/ld-linux-x86-64.so.2 - - - - ${pkgs.glibc}/lib64/ld-linux-x86-64.so.2"
|
||||
];
|
||||
|
||||
# pipewire bluetooth config (https://nixos.wiki/wiki/PipeWire#Bluetooth_Configuration)
|
||||
environment.etc = {
|
||||
"wireplumber/bluetooth.lua.d/51-bluez-config.lua".text = ''
|
||||
bluez_monitor.properties = {
|
||||
["bluez5.enable-sbc-xq"] = true,
|
||||
["bluez5.enable-msbc"] = true,
|
||||
["bluez5.enable-hw-volume"] = true,
|
||||
["bluez5.headset-roles"] = "[ hsp_hs hsp_ag hfp_hf hfp_ag ]"
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
alacritty
|
||||
arandr
|
||||
@ -149,9 +134,9 @@ inputs:
|
||||
];
|
||||
|
||||
virtualisation = {
|
||||
docker = {
|
||||
enable = false;
|
||||
};
|
||||
# docker = {
|
||||
# enable = true;
|
||||
# };
|
||||
|
||||
podman = {
|
||||
enable = true;
|
||||
@ -160,22 +145,12 @@ inputs:
|
||||
/* to make networking in docker-compose work */
|
||||
dns_enabled = true;
|
||||
};
|
||||
dockerSocket.enable = true;
|
||||
#dockerSocket.enable = true;
|
||||
};
|
||||
# lxd.enable = true;
|
||||
# virtualbox.host.enable = true;
|
||||
# virtualbox.host.enableExtensionPack = true;
|
||||
};
|
||||
# virt-manager
|
||||
virtualisation.libvirtd.enable = false;
|
||||
programs.virt-manager.enable = false;
|
||||
#dconf.settings = {
|
||||
#"org/virt-manager/virt-manager/connections" = {
|
||||
#autoconnect = ["qemu:///system"];
|
||||
#uris = ["qemu:///system"];
|
||||
#};
|
||||
#};
|
||||
|
||||
|
||||
programs = {
|
||||
# enable zsh globally
|
||||
@ -183,13 +158,12 @@ inputs:
|
||||
gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
pinentryPackage = pkgs.pinentry-curses;
|
||||
pinentryFlavor = "curses";
|
||||
};
|
||||
thunar = {
|
||||
enable = true;
|
||||
plugins = with pkgs.xfce; [ thunar-archive-plugin thunar-volman ];
|
||||
};
|
||||
kdeconnect.enable = true;
|
||||
};
|
||||
|
||||
environment.sessionVariables = {
|
||||
@ -201,12 +175,12 @@ inputs:
|
||||
environment.pathsToLink = [ "/libexec" ]; # links /libexec from derivations to /run/current-system/sw
|
||||
|
||||
fonts = {
|
||||
enableDefaultPackages = true;
|
||||
packages = with pkgs; [
|
||||
enableDefaultFonts = true;
|
||||
fonts = with pkgs; [
|
||||
font-awesome
|
||||
nerdfonts
|
||||
noto-fonts
|
||||
noto-fonts-cjk-sans
|
||||
noto-fonts-cjk
|
||||
noto-fonts-emoji
|
||||
powerline-fonts
|
||||
material-icons
|
||||
@ -220,20 +194,11 @@ inputs:
|
||||
};
|
||||
};
|
||||
|
||||
security = {
|
||||
# generate login settings
|
||||
# ykman otp chalresp --touch --generate 2
|
||||
pam.yubico = {
|
||||
enable = true;
|
||||
# debug = true;
|
||||
mode = "challenge-response";
|
||||
};
|
||||
sudo = {
|
||||
package = pkgs.sudo.override { withInsults = true; };
|
||||
};
|
||||
|
||||
# rtkit is optional but recommended for pipewire
|
||||
rtkit.enable = true;
|
||||
# generate login settings
|
||||
# ykman otp chalresp --touch --generate 2
|
||||
security.pam.yubico = {
|
||||
enable = true;
|
||||
# debug = true;
|
||||
mode = "challenge-response";
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
inputs:
|
||||
{ pkgs, pkgs-unstable, ... }: {
|
||||
{ pkgs, ... }: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
neovim
|
||||
vim
|
||||
@ -13,7 +13,7 @@ inputs:
|
||||
binutils
|
||||
curl
|
||||
htop
|
||||
nixfmt-classic
|
||||
nixfmt
|
||||
ripgrep
|
||||
shellcheck
|
||||
tmux
|
||||
@ -26,14 +26,10 @@ inputs:
|
||||
|
||||
direnv
|
||||
|
||||
# gitea cli
|
||||
tea
|
||||
|
||||
#idea.idea-community
|
||||
# unstable.jetbrains.idea-community
|
||||
jetbrains.idea-community
|
||||
jetbrains.idea-ultimate
|
||||
|
||||
dbeaver-bin
|
||||
dbeaver
|
||||
];
|
||||
|
||||
services.lorri.enable = true;
|
||||
|
@ -11,9 +11,6 @@ inputs:
|
||||
spotify
|
||||
vlc
|
||||
|
||||
# podcast app with nextcloud sync
|
||||
libsForQt5.kasts
|
||||
|
||||
teamspeak_client
|
||||
|
||||
# support both 32- and 64-bit applications
|
||||
@ -23,7 +20,7 @@ inputs:
|
||||
];
|
||||
|
||||
# needed for steam
|
||||
hardware.graphics.enable32Bit = true;
|
||||
hardware.opengl.driSupport32Bit = true;
|
||||
hardware.pulseaudio.support32Bit = true;
|
||||
|
||||
programs.steam.enable = true;
|
||||
|
@ -3,41 +3,27 @@ let
|
||||
system = "x86_64-linux";
|
||||
hostname = "morpheus";
|
||||
swapUUID = "93bdadfc-961a-4ea6-aef0-d3cd50847f0b";
|
||||
overlay-unstable = final: prev: {
|
||||
unstable = inputs.nixpkgs-unstable.legacyPackages.${prev.system};
|
||||
};
|
||||
in
|
||||
inputs.nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
modules = [
|
||||
({ config, pkgs, ... } : {
|
||||
system.stateVersion = "22.05";
|
||||
nixpkgs.overlays = [ overlay-unstable ];
|
||||
})
|
||||
{ system.stateVersion = "22.05"; }
|
||||
(import ./common.nix inputs)
|
||||
(import ./sway.nix inputs)
|
||||
(import ./morpheus/btrbk.nix inputs)
|
||||
(import ./dev.nix inputs)
|
||||
(import ./entertainment.nix inputs)
|
||||
(import ./office.nix inputs)
|
||||
({ pkgs, lib, ... }: {
|
||||
system.autoUpgrade = {
|
||||
enable = false;
|
||||
flake = inputs.self.outPath;
|
||||
flags = [
|
||||
"--update-input"
|
||||
"nixpkgs"
|
||||
"--update-input"
|
||||
"nixpkgs-unstable"
|
||||
"--update-input"
|
||||
"home-manager"
|
||||
"--update-input"
|
||||
"flake-utils"
|
||||
"-L" # print build logs
|
||||
];
|
||||
enable = true;
|
||||
allowReboot = false;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
# automatic btrfs snapshots
|
||||
snapper
|
||||
snapper-gui
|
||||
];
|
||||
|
||||
networking = {
|
||||
hostName = hostname;
|
||||
interfaces.enp1s0.useDHCP = true;
|
||||
@ -45,8 +31,18 @@ inputs.nixpkgs.lib.nixosSystem {
|
||||
};
|
||||
services = {
|
||||
# enable touchpad support
|
||||
libinput.enable = true;
|
||||
xserver.libinput.enable = true;
|
||||
blueman.enable = true;
|
||||
snapper.configs = {
|
||||
home = {
|
||||
subvolume = "/home";
|
||||
extraConfig = ''
|
||||
ALLOW_USERS="me"
|
||||
TIMELINE_CREATE=yes
|
||||
TIMELINE_CLEANUP=yes
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
users.users.me = {
|
||||
isNormalUser = true;
|
||||
@ -57,7 +53,6 @@ inputs.nixpkgs.lib.nixosSystem {
|
||||
"davfs2"
|
||||
"disk"
|
||||
"docker"
|
||||
"libvirtd" # virt-manager
|
||||
"networkmanager"
|
||||
"plugdev"
|
||||
"podman"
|
||||
@ -74,12 +69,7 @@ inputs.nixpkgs.lib.nixosSystem {
|
||||
#availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
|
||||
availableKernelModules = [ "nvme" "xhci_pci" "usb_storage" "sd_mod" ];
|
||||
kernelModules = [ ];
|
||||
luks.devices."system" = {
|
||||
device = "/dev/disk/by-uuid/06549d22-b96c-44f2-bb27-45200d5feda5";
|
||||
# better SSD performance
|
||||
# https://wiki.archlinux.org/title/Dm-crypt/Specialties#Disable_workqueue_for_increased_solid_state_drive_(SSD)_performance
|
||||
bypassWorkqueues = true;
|
||||
};
|
||||
luks.devices."system".device = "/dev/disk/by-uuid/06549d22-b96c-44f2-bb27-45200d5feda5";
|
||||
};
|
||||
kernelModules = [ "kvm-amd" ];
|
||||
# use latest kernel
|
||||
@ -109,13 +99,6 @@ inputs.nixpkgs.lib.nixosSystem {
|
||||
supportedFilesystems = [ "ntfs" ];
|
||||
};
|
||||
|
||||
# btrf autoscrub
|
||||
services.btrfs.autoScrub = {
|
||||
enable = true;
|
||||
# multiple subvolumes of the same fs are mounted. only scrub '/' to prevent multiple runs
|
||||
fileSystems = [ "/" ];
|
||||
};
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/93bdadfc-961a-4ea6-aef0-d3cd50847f0b";
|
||||
fsType = "btrfs";
|
||||
|
@ -1,48 +0,0 @@
|
||||
{ ... }: {
|
||||
services.btrbk = {
|
||||
instances = {
|
||||
# local snapshots:
|
||||
# - create hourly
|
||||
# - keep hourly for 4 days and daily forever
|
||||
home_local = {
|
||||
onCalendar = "hourly";
|
||||
settings = {
|
||||
snapshot_preserve = "96h *d";
|
||||
snapshot_preserve_min = "latest";
|
||||
volume."/" = {
|
||||
snapshot_dir = "/home/.btrbk";
|
||||
subvolume.home = {
|
||||
snapshot_create = "always";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# backup snapshots to backup drive
|
||||
# - keep all hourly and the last 14 days of daily snapshots on the local disk
|
||||
# - keep 14 daily, 8 weekly and all monthly snapshots on the backup drive
|
||||
# - don't create new snapshots
|
||||
# - TODO: trigger on mount
|
||||
home_external = {
|
||||
# disable systemd timer
|
||||
onCalendar = null;
|
||||
settings = {
|
||||
# 14 * 24 = 336
|
||||
snapshot_preserve = "336h 14d";
|
||||
snapshot_preserve_min = "latest";
|
||||
|
||||
target_preserve = "14d 8w *m";
|
||||
target_preserve_min = "2d";
|
||||
|
||||
volume."/" = {
|
||||
snapshot_dir = "/home/.btrbk";
|
||||
subvolume.home = {
|
||||
snapshot_create = "no";
|
||||
};
|
||||
target = "/run/media/me/backup/morpheus";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
inputs:
|
||||
{ config, lib, pkgs, ... }: {
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
programs.sway = {
|
||||
enable = true;
|
||||
wrapperFeatures.gtk = true;
|
||||
};
|
||||
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||
}
|
@ -13,7 +13,7 @@ inputs.nixpkgs.lib.nixosSystem {
|
||||
(import ./office.nix inputs)
|
||||
({ pkgs, lib, ... }: {
|
||||
system.autoUpgrade = {
|
||||
enable = false;
|
||||
enable = true;
|
||||
allowReboot = false;
|
||||
};
|
||||
|
||||
|
@ -1,6 +0,0 @@
|
||||
{
|
||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||
"extends": [
|
||||
"local>renovate-bot/renovate-config"
|
||||
]
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user