Compare commits
6 Commits
0f6e780f6c
...
6b6556cd80
| Author | SHA1 | Date | |
|---|---|---|---|
| 6b6556cd80 | |||
| 2e9c500892 | |||
| 4cabbcca5d | |||
| 1f326544d6 | |||
| 69599c8e3d | |||
| 7f3a7c5543 |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -4,3 +4,5 @@ result
|
|||||||
result-*
|
result-*
|
||||||
|
|
||||||
nixos-efi-vars.fd
|
nixos-efi-vars.fd
|
||||||
|
|
||||||
|
home/hosts/work/packages.local.nix
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
|
[include]
|
||||||
|
path = ~/.gitconfig.email
|
||||||
|
|
||||||
[core]
|
[core]
|
||||||
editor = nvim
|
editor = nvim
|
||||||
excludesfile = ~/.gitignore
|
excludesfile = ~/.gitignore
|
||||||
|
|
||||||
[user]
|
[user]
|
||||||
email = hektor.misplon@pm.me
|
|
||||||
name = Hektor Misplon
|
name = Hektor Misplon
|
||||||
username = hektor
|
username = hektor
|
||||||
signingKey = AEB98353B8D72E465C4236435151AF79E723F21C
|
signingKey = AEB98353B8D72E465C4236435151AF79E723F21C
|
||||||
@@ -76,8 +78,6 @@
|
|||||||
[merge]
|
[merge]
|
||||||
tool = nvimdiff
|
tool = nvimdiff
|
||||||
conflictstyle = diff3
|
conflictstyle = diff3
|
||||||
[pull]
|
|
||||||
rebase = true
|
|
||||||
[diff]
|
[diff]
|
||||||
colorMoved = zebra
|
colorMoved = zebra
|
||||||
[commit]
|
[commit]
|
||||||
@@ -85,3 +85,11 @@
|
|||||||
|
|
||||||
[interactive]
|
[interactive]
|
||||||
singleKey = true
|
singleKey = true
|
||||||
|
|
||||||
|
[pull]
|
||||||
|
rebase = true
|
||||||
|
[rerere]
|
||||||
|
enabled = true
|
||||||
|
|
||||||
|
[includeIf "gitdir:~/work/"]
|
||||||
|
path = ~/.gitconfig.work
|
||||||
|
|||||||
2
dots/.gitconfig.email.example
Normal file
2
dots/.gitconfig.email.example
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
[user]
|
||||||
|
email = your.email@example.com
|
||||||
13
dots/.gitconfig.work
Normal file
13
dots/.gitconfig.work
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
[include]
|
||||||
|
path = ~/.gitconfig.work.email
|
||||||
|
|
||||||
|
[core]
|
||||||
|
longpaths = true
|
||||||
|
|
||||||
|
[user]
|
||||||
|
name = Hektor Misplon
|
||||||
|
username = hektor.misplon
|
||||||
|
signingKey = 1C88BE828184CEE6
|
||||||
|
|
||||||
|
[commit]
|
||||||
|
gpgsign = false
|
||||||
2
dots/.gitconfig.work.email.example
Normal file
2
dots/.gitconfig.work.email.example
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
[user]
|
||||||
|
email = your.work.email@example.com
|
||||||
@@ -12,6 +12,7 @@ in
|
|||||||
imports = [
|
imports = [
|
||||||
../../modules/dconf.nix # TODO: Only enable when on Gnome?
|
../../modules/dconf.nix # TODO: Only enable when on Gnome?
|
||||||
../../modules/git.nix
|
../../modules/git.nix
|
||||||
|
../../modules/k9s.nix
|
||||||
(import ../../modules/taskwarrior.nix {
|
(import ../../modules/taskwarrior.nix {
|
||||||
inherit config;
|
inherit config;
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
|
|||||||
@@ -10,38 +10,37 @@ let
|
|||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../modules/dconf.nix # TODO: Only enable when on Gnome?
|
../../modules/dconf.nix
|
||||||
|
../../modules/git.nix
|
||||||
|
../../modules/k9s.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
home.stateVersion = "25.05";
|
home.stateVersion = "25.05";
|
||||||
home.username = username;
|
home.username = username;
|
||||||
home.homeDirectory = "/home/${username}";
|
home.homeDirectory = "/home/${username}";
|
||||||
|
|
||||||
sops = {
|
targets.genericLinux.nixGL = {
|
||||||
defaultSopsFile = "${builtins.toString inputs.nix-secrets}/secrets.yaml";
|
|
||||||
defaultSopsFormat = "yaml";
|
|
||||||
age.keyFile = "${config.home.homeDirectory}/.config/sops/age/keys.txt";
|
|
||||||
|
|
||||||
secrets."test" = { };
|
|
||||||
};
|
|
||||||
|
|
||||||
nixGL = {
|
|
||||||
packages = inputs.nixgl.packages;
|
packages = inputs.nixgl.packages;
|
||||||
defaultWrapper = "mesa";
|
defaultWrapper = "mesa";
|
||||||
};
|
};
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
anki = import ../../modules/anki.nix;
|
# editorconfig.enable = true;
|
||||||
firefox = import ../../modules/firefox.nix {
|
firefox = import ../../modules/firefox.nix {
|
||||||
inherit inputs;
|
inherit inputs;
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
inherit config;
|
inherit config;
|
||||||
};
|
};
|
||||||
git = import ../../modules/git.nix;
|
gh.enable = true;
|
||||||
keepassxc = import ../../modules/keepassxc.nix;
|
keepassxc = import ../../modules/keepassxc.nix;
|
||||||
|
kubecolor.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
home.packages = import ./packages.nix {
|
home.packages = import ./packages.nix {
|
||||||
inherit pkgs;
|
inherit inputs;
|
||||||
inherit config;
|
inherit config;
|
||||||
|
inherit pkgs;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,19 @@
|
|||||||
{ pkgs, config, ... }:
|
{
|
||||||
|
inputs,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
with pkgs;
|
let
|
||||||
[ ]
|
localPackages =
|
||||||
|
if builtins.pathExists ./packages.local.nix then
|
||||||
|
import ./packages.local.nix { inherit inputs config pkgs; }
|
||||||
|
else
|
||||||
|
[ ];
|
||||||
|
in
|
||||||
|
|
||||||
|
(with pkgs; [
|
||||||
|
inputs.nvim.packages.x86_64-linux.nvim
|
||||||
|
])
|
||||||
|
++ localPackages
|
||||||
|
|||||||
@@ -1,3 +1,6 @@
|
|||||||
{
|
{
|
||||||
enable = true;
|
enable = true;
|
||||||
|
# sync = {
|
||||||
|
# username = config.sops.secrets."email/personal".path;
|
||||||
|
# };
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,5 +7,107 @@
|
|||||||
"org/gnome/desktop/interface" = {
|
"org/gnome/desktop/interface" = {
|
||||||
color-scheme = "prefer-dark";
|
color-scheme = "prefer-dark";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
"org/gnome/desktop/applications/terminal" = {
|
||||||
|
exec = "kitty";
|
||||||
|
exec-arg = "";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/gnome/desktop/background" = {
|
||||||
|
color-shading-type = "solid";
|
||||||
|
picture-opacity = 100;
|
||||||
|
picture-options = "zoom";
|
||||||
|
picture-uri = "none";
|
||||||
|
picture-uri-dark = "none";
|
||||||
|
primary-color = "#555555";
|
||||||
|
secondary-color = "#555555";
|
||||||
|
show-desktop-icons = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
# "org/gnome/desktop/input-sources" = {
|
||||||
|
# sources = [
|
||||||
|
# (mkTuple [
|
||||||
|
# "xkb"
|
||||||
|
# "us"
|
||||||
|
# ])
|
||||||
|
# ];
|
||||||
|
# xkb-options = [ "caps:none" ];
|
||||||
|
# };
|
||||||
|
|
||||||
|
"org/gnome/desktop/wm/keybindings" = {
|
||||||
|
close = [ "<Shift><Super>Delete" ];
|
||||||
|
cycle-group = [ ];
|
||||||
|
cycle-group-backward = [ ];
|
||||||
|
cycle-panels = [ ];
|
||||||
|
cycle-panels-backward = [ ];
|
||||||
|
cycle-windows = [ ];
|
||||||
|
cycle-windows-backward = [ ];
|
||||||
|
maximize = [ "<Super> " ];
|
||||||
|
minimize = [ ];
|
||||||
|
move-to-workspace-1 = [ "<Super><Shift>a" ];
|
||||||
|
move-to-workspace-2 = [ "<Super><Shift>s" ];
|
||||||
|
move-to-workspace-3 = [ "<Super><Shift>d" ];
|
||||||
|
move-to-workspace-4 = [ "<Super><Shift>f" ];
|
||||||
|
move-to-workspace-5 = [ "<Super><Shift>g" ];
|
||||||
|
move-to-workspace-last = [ ];
|
||||||
|
move-to-workspace-left = [ "<Super><Shift>h" ];
|
||||||
|
move-to-workspace-right = [ "<Super><Shift>l" ];
|
||||||
|
panel-run-dialog = [ ];
|
||||||
|
switch-applications = [ "<Super>j" ];
|
||||||
|
switch-applications-backward = [ "<Super>k" ];
|
||||||
|
switch-group = [ ];
|
||||||
|
switch-group-backward = [ ];
|
||||||
|
switch-input-source = [ ];
|
||||||
|
switch-input-source-backward = [ ];
|
||||||
|
switch-panels = [ ];
|
||||||
|
switch-panels-backward = [ ];
|
||||||
|
switch-to-workspace-1 = [ "<Super>a" ];
|
||||||
|
switch-to-workspace-2 = [ "<Super>s" ];
|
||||||
|
switch-to-workspace-3 = [ "<Super>d" ];
|
||||||
|
switch-to-workspace-4 = [ "<Super>f" ];
|
||||||
|
switch-to-workspace-5 = [ "<Super>g" ];
|
||||||
|
switch-to-workspace-last = [ ];
|
||||||
|
switch-to-workspace-left = [ "<Super>h" ];
|
||||||
|
switch-to-workspace-right = [ "<Super>l" ];
|
||||||
|
switch-windows = [ ];
|
||||||
|
switch-windows-backward = [ ];
|
||||||
|
toggle-maximized = [ "<Super>space" ];
|
||||||
|
unmaximize = [ ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/gnome/desktop/wm/preferences" = {
|
||||||
|
num-workspaces = 5;
|
||||||
|
workspace-names = [
|
||||||
|
"sh"
|
||||||
|
"www"
|
||||||
|
"dev"
|
||||||
|
"info"
|
||||||
|
"etc"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/gnome/settings-daemon/plugins/media-keys" = {
|
||||||
|
custom-keybindings = [
|
||||||
|
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
|
||||||
|
binding = "Print";
|
||||||
|
command = "flameshot gui";
|
||||||
|
name = "flameshot";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = {
|
||||||
|
binding = "<Super>Return";
|
||||||
|
command = "kitty";
|
||||||
|
name = "Kitty";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/gnome/shell/keybindings" = {
|
||||||
|
screenshot = [ "Print" ];
|
||||||
|
toggle-application-view = [ "<Super>p" ];
|
||||||
|
toggle-quick-settings = [ ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
programs.git.enable = true;
|
programs.git.enable = true;
|
||||||
home.file = {
|
home.file = {
|
||||||
".gitconfig".source = ../../dots/.gitconfig;
|
".gitconfig".source = ../../dots/.gitconfig;
|
||||||
|
".gitconfig.work".source = ../../dots/.gitconfig.work;
|
||||||
".gitignore".source = ../../dots/.gitignore;
|
".gitignore".source = ../../dots/.gitignore;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
11
home/modules/k9s.nix
Normal file
11
home/modules/k9s.nix
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
programs.k9s = {
|
||||||
|
enable = true;
|
||||||
|
settings.k9s = {
|
||||||
|
ui = {
|
||||||
|
logoless = true;
|
||||||
|
reactive = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -10,9 +10,8 @@ let
|
|||||||
username = "h";
|
username = "h";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
system.stateVersion = "25.05";
|
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
|
../../modules/common.nix
|
||||||
inputs.disko.nixosModules.disko
|
inputs.disko.nixosModules.disko
|
||||||
inputs.sops-nix.nixosModules.sops
|
inputs.sops-nix.nixosModules.sops
|
||||||
inputs.home-manager.nixosModules.default
|
inputs.home-manager.nixosModules.default
|
||||||
@@ -77,13 +76,6 @@ in
|
|||||||
|
|
||||||
environment.systemPackages = [ inputs.nvim.packages.x86_64-linux.nvim ];
|
environment.systemPackages = [ inputs.nvim.packages.x86_64-linux.nvim ];
|
||||||
|
|
||||||
nix.settings.experimental-features = [
|
|
||||||
"nix-command"
|
|
||||||
"flakes"
|
|
||||||
];
|
|
||||||
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
|
|||||||
@@ -11,9 +11,8 @@ let
|
|||||||
hostName = "astyanax";
|
hostName = "astyanax";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
system.stateVersion = "25.05";
|
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
|
../../modules/common.nix
|
||||||
inputs.nixos-hardware.nixosModules.lenovo-thinkpad-e14-intel
|
inputs.nixos-hardware.nixosModules.lenovo-thinkpad-e14-intel
|
||||||
inputs.disko.nixosModules.disko
|
inputs.disko.nixosModules.disko
|
||||||
inputs.sops-nix.nixosModules.sops
|
inputs.sops-nix.nixosModules.sops
|
||||||
@@ -46,13 +45,6 @@ in
|
|||||||
|
|
||||||
environment.systemPackages = [ inputs.nvim.packages.x86_64-linux.nvim ];
|
environment.systemPackages = [ inputs.nvim.packages.x86_64-linux.nvim ];
|
||||||
|
|
||||||
nix.settings.experimental-features = [
|
|
||||||
"nix-command"
|
|
||||||
"flakes"
|
|
||||||
];
|
|
||||||
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
|
|||||||
@@ -10,9 +10,8 @@ let
|
|||||||
username = "h";
|
username = "h";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
system.stateVersion = "25.05";
|
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
|
../../modules/common.nix
|
||||||
inputs.disko.nixosModules.disko
|
inputs.disko.nixosModules.disko
|
||||||
inputs.sops-nix.nixosModules.sops
|
inputs.sops-nix.nixosModules.sops
|
||||||
inputs.home-manager.nixosModules.default
|
inputs.home-manager.nixosModules.default
|
||||||
@@ -38,13 +37,6 @@ in
|
|||||||
|
|
||||||
environment.systemPackages = [ inputs.nvim.packages.x86_64-linux.nvim ];
|
environment.systemPackages = [ inputs.nvim.packages.x86_64-linux.nvim ];
|
||||||
|
|
||||||
nix.settings.experimental-features = [
|
|
||||||
"nix-command"
|
|
||||||
"flakes"
|
|
||||||
];
|
|
||||||
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
|
||||||
|
|
||||||
disko = {
|
disko = {
|
||||||
devices.disk.main.device = "/dev/vda";
|
devices.disk.main.device = "/dev/vda";
|
||||||
devices.disk.main.imageName = "nixos-vm";
|
devices.disk.main.imageName = "nixos-vm";
|
||||||
|
|||||||
10
modules/common.nix
Normal file
10
modules/common.nix
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
system.stateVersion = "25.05";
|
||||||
|
|
||||||
|
nix.settings.experimental-features = [
|
||||||
|
"nix-command"
|
||||||
|
"flakes"
|
||||||
|
];
|
||||||
|
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
}
|
||||||
@@ -25,6 +25,8 @@ in
|
|||||||
"taskwarrior_sync_server_url".owner = config.users.users.${cfg.username}.name;
|
"taskwarrior_sync_server_url".owner = config.users.users.${cfg.username}.name;
|
||||||
"taskwarrior_sync_server_client_id".owner = config.users.users.${cfg.username}.name;
|
"taskwarrior_sync_server_client_id".owner = config.users.users.${cfg.username}.name;
|
||||||
"taskwarrior_sync_encryption_secret".owner = config.users.users.${cfg.username}.name;
|
"taskwarrior_sync_encryption_secret".owner = config.users.users.${cfg.username}.name;
|
||||||
|
"email_personal".owner = config.users.users.${cfg.username}.name;
|
||||||
|
"email_work".owner = config.users.users.${cfg.username}.name;
|
||||||
};
|
};
|
||||||
|
|
||||||
templates."taskrc.d/sync" = {
|
templates."taskrc.d/sync" = {
|
||||||
@@ -35,6 +37,24 @@ in
|
|||||||
sync.encryption_secret=${config.sops.placeholder."taskwarrior_sync_encryption_secret"}
|
sync.encryption_secret=${config.sops.placeholder."taskwarrior_sync_encryption_secret"}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
templates.".gitconfig.email" = {
|
||||||
|
owner = config.users.users.${cfg.username}.name;
|
||||||
|
path = "/home/${cfg.username}/.gitconfig.email";
|
||||||
|
content = ''
|
||||||
|
[user]
|
||||||
|
email = ${config.sops.placeholder."email_personal"}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
templates.".gitconfig.work.email" = {
|
||||||
|
owner = config.users.users.${cfg.username}.name;
|
||||||
|
path = "/home/${cfg.username}/.gitconfig.work.email";
|
||||||
|
content = ''
|
||||||
|
[user]
|
||||||
|
email = ${config.sops.placeholder."email_work"}
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user