Merge branch 'main' of ktiu.net:omniflake
This commit is contained in:
commit
169b9c5b71
14 changed files with 111 additions and 24 deletions
18
flake.lock
generated
18
flake.lock
generated
|
|
@ -7,11 +7,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1702814335,
|
"lastModified": 1704498488,
|
||||||
"narHash": "sha256-Qck7BAMi3eydzT1WFOzp/SgECetyPpOn1dLgmxH2ebQ=",
|
"narHash": "sha256-yINKdShHrtjdiJhov+q0s3Y3B830ujRoSbHduUNyKag=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "e4dba0bd01956170667458be7b45f68170a63651",
|
"rev": "51e44a13acea71b36245e8bd8c7db53e0a3e61ee",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -22,11 +22,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1702780907,
|
"lastModified": 1704420045,
|
||||||
"narHash": "sha256-blbrBBXjjZt6OKTcYX1jpe9SRof2P9ZYWPzq22tzXAA=",
|
"narHash": "sha256-C36QmoJd5tdQ5R9MC1jM7fBkZW9zBUqbUCsgwS6j4QU=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "1e2e384c5b7c50dbf8e9c441a9e58d85f408b01f",
|
"rev": "c1be43e8e837b8dbee2b3665a007e761680f0c3d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -38,11 +38,11 @@
|
||||||
},
|
},
|
||||||
"nur": {
|
"nur": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1702902799,
|
"lastModified": 1704710672,
|
||||||
"narHash": "sha256-KNTIeQ6gDVoX3QSW0tWgCVjvmJ3JO+FT8XwRxL9dZN0=",
|
"narHash": "sha256-4lkd1XPxxr00kz+DXY0il6TG0pvK5Go3xkgISX1Gnks=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nur",
|
"repo": "nur",
|
||||||
"rev": "4561fa27240f2b30aeb1bfdc27162a32b77b0b8d",
|
"rev": "6b35830e8b50fd1c6cf096f74a76cb9c5e0793cc",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
||||||
|
|
@ -18,9 +18,10 @@
|
||||||
networking.hostName = "nova";
|
networking.hostName = "nova";
|
||||||
}
|
}
|
||||||
./system
|
./system
|
||||||
|
./system/hardware-nova.nix
|
||||||
./system/gnome.nix
|
./system/gnome.nix
|
||||||
./system/btrbk.nix
|
./system/btrbk.nix
|
||||||
./system/hardware-nova.nix
|
./system/yubikey.nix
|
||||||
./system/alt.nix
|
./system/alt.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,7 @@
|
||||||
./desktop
|
./desktop
|
||||||
./firefox.nix
|
./firefox.nix
|
||||||
./foot.nix
|
./foot.nix
|
||||||
|
./tmux
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.nix-index = {
|
programs.nix-index = {
|
||||||
|
|
|
||||||
|
|
@ -110,6 +110,7 @@
|
||||||
nodejs
|
nodejs
|
||||||
android-studio
|
android-studio
|
||||||
netlify-cli
|
netlify-cli
|
||||||
|
appimage-run
|
||||||
|
|
||||||
# secrets
|
# secrets
|
||||||
libsecret
|
libsecret
|
||||||
|
|
@ -118,17 +119,18 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
./desktop
|
|
||||||
./alias.nix
|
./alias.nix
|
||||||
./nvim
|
|
||||||
./foot.nix
|
|
||||||
./fish.nix
|
|
||||||
./firefox.nix
|
|
||||||
./calendars.nix
|
./calendars.nix
|
||||||
|
./desktop
|
||||||
|
./firefox.nix
|
||||||
|
./fish.nix
|
||||||
|
./foot.nix
|
||||||
./mail
|
./mail
|
||||||
./tex.nix
|
./nvim
|
||||||
./openconnect.nix
|
./openconnect.nix
|
||||||
./R.nix
|
./r.nix
|
||||||
|
./tex.nix
|
||||||
|
./tmux
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.nix-index = {
|
programs.nix-index = {
|
||||||
|
|
|
||||||
|
|
@ -48,6 +48,7 @@
|
||||||
ublock-origin
|
ublock-origin
|
||||||
linkhints
|
linkhints
|
||||||
keepassxc-browser
|
keepassxc-browser
|
||||||
|
libredirect
|
||||||
];
|
];
|
||||||
search = {
|
search = {
|
||||||
force = true;
|
force = true;
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
main = {
|
main = {
|
||||||
shell = "${pkgs.fish}/bin/fish -c 'tmux attach || tmux'";
|
shell = "${pkgs.fish}/bin/fish -c 'tmux attach'";
|
||||||
pad = "22x22";
|
pad = "22x22";
|
||||||
font = "JetBrains Mono:size=14";
|
font = "JetBrains Mono:size=14";
|
||||||
initial-window-mode = "maximized";
|
initial-window-mode = "maximized";
|
||||||
|
|
|
||||||
55
home/tmux/default.nix
Normal file
55
home/tmux/default.nix
Normal file
|
|
@ -0,0 +1,55 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.tmux = {
|
||||||
|
enable = true;
|
||||||
|
escapeTime = 0;
|
||||||
|
mouse = true;
|
||||||
|
newSession = true;
|
||||||
|
shell = "${pkgs.fish}/bin/fish";
|
||||||
|
extraConfig = ''
|
||||||
|
# Key bindings
|
||||||
|
bind C-l next-window
|
||||||
|
bind C-h previous-window
|
||||||
|
bind C-b last-window
|
||||||
|
bind n new-window
|
||||||
|
bind C-n new-window -c '#{pane_current_path}'
|
||||||
|
bind v split-window -h
|
||||||
|
bind C-v split-window -hc '#{pane_current_path}'
|
||||||
|
bind s split-window -v
|
||||||
|
bind C-s split-window -vc '#{pane_current_path}'
|
||||||
|
bind h select-pane -L
|
||||||
|
bind j select-pane -D
|
||||||
|
bind k select-pane -U
|
||||||
|
bind l select-pane -R
|
||||||
|
bind c command-prompt -I "#{b:pane_current_path}" "rename-window '%%'"
|
||||||
|
bind C-c command-prompt -I "#{b:pane_current_path}" "rename-window '%%'"
|
||||||
|
|
||||||
|
# Layouts
|
||||||
|
bind f source-file ~/.config/tmux/nnn.conf
|
||||||
|
bind R source-file ~/.config/tmux/rloft.conf
|
||||||
|
bind J source-file ~/.config/tmux/jekyll.conf
|
||||||
|
|
||||||
|
# Unbind
|
||||||
|
unbind p
|
||||||
|
unbind '"'
|
||||||
|
unbind %
|
||||||
|
|
||||||
|
# Eye candy
|
||||||
|
# set-option -g status-position top
|
||||||
|
set-option -g status-right ""
|
||||||
|
set-option -g status-left ""
|
||||||
|
set-option -g status-justify "centre"
|
||||||
|
set-option -g status-style fg=brightmagenta
|
||||||
|
set-option -g pane-border-style fg=brightwhite
|
||||||
|
set-option -g pane-active-border-style fg=magenta
|
||||||
|
set-option -g window-status-current-style fg=magenta
|
||||||
|
|
||||||
|
# Some more specifics
|
||||||
|
set-option -g focus-events on
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
xdg.configFile."tmux/nnn.conf".source = ./nnn.conf;
|
||||||
|
xdg.configFile."tmux/rloft.conf".source = ./rloft.conf;
|
||||||
|
xdg.configFile."tmux/jekyll.conf".source = ./jekyll.conf;
|
||||||
|
}
|
||||||
6
home/tmux/jekyll.conf
Normal file
6
home/tmux/jekyll.conf
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
split-window -c '#{pane_current_path}' -h nix-shell
|
||||||
|
send-keys "jekyll serve" Enter
|
||||||
|
resize-pane -x 40%
|
||||||
|
split-pane -c '#{pane_current_path}' "git status; fish"
|
||||||
|
select-pane -L
|
||||||
|
rename-window "jekyll"
|
||||||
2
home/tmux/nnn.conf
Normal file
2
home/tmux/nnn.conf
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
new-window -c '#{pane_current_path}' nnn
|
||||||
|
rename-window 'nnn'
|
||||||
2
home/tmux/rloft.conf
Normal file
2
home/tmux/rloft.conf
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
split-window -c '#{pane_current_path}' -h R -q --no-save --no-restore
|
||||||
|
select-pane -l
|
||||||
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
users.users.alt = {
|
users.users.alt = {
|
||||||
isNormalUser = true;
|
home = "/home/alt";
|
||||||
description = "Alt";
|
isSystemUser = true;
|
||||||
|
group = "users";
|
||||||
|
description = "Backup profile";
|
||||||
extraGroups = [
|
extraGroups = [
|
||||||
"networkmanager"
|
"networkmanager"
|
||||||
];
|
];
|
||||||
shell = pkgs.fish;
|
shell = pkgs.fish;
|
||||||
};
|
};
|
||||||
services.xserver.displayManager.gdm.settings.greeter.IncludeAll = false;
|
|
||||||
services.xserver.displayManager.gdm.settings.greeter.Exclude = "alt";
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -94,8 +94,6 @@
|
||||||
mullvad-vpn.enable = true;
|
mullvad-vpn.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
services.udev.packages = [ pkgs.yubikey-personalization ];
|
|
||||||
|
|
||||||
virtualisation.libvirtd.enable = true;
|
virtualisation.libvirtd.enable = true;
|
||||||
programs.dconf.enable = true;
|
programs.dconf.enable = true;
|
||||||
|
|
||||||
|
|
|
||||||
19
system/yubikey.nix
Normal file
19
system/yubikey.nix
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
services.udev = {
|
||||||
|
packages = [ pkgs.yubikey-personalization ];
|
||||||
|
extraRules = ''
|
||||||
|
ACTION=="remove",\
|
||||||
|
ENV{ID_BUS}=="usb",\
|
||||||
|
ENV{ID_MODEL_ID}=="0407",\
|
||||||
|
ENV{ID_VENDOR_ID}=="1050",\
|
||||||
|
ENV{ID_VENDOR}=="Yubico",\
|
||||||
|
RUN+="${pkgs.systemd}/bin/loginctl lock-sessions"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
security.pam.services = {
|
||||||
|
login.u2fAuth = true;
|
||||||
|
sudo.u2fAuth = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue