feat: initial switch from hm to hjem
This commit is contained in:
parent
5c21588430
commit
7b77f05476
15 changed files with 131 additions and 154 deletions
|
@ -5,16 +5,13 @@
|
||||||
_utils,
|
_utils,
|
||||||
agenix,
|
agenix,
|
||||||
camasca,
|
camasca,
|
||||||
home-manager,
|
hjem,
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
nix-index-database,
|
nix-index-database,
|
||||||
vencord,
|
vencord,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
username = "leo";
|
|
||||||
stateVersion = "24.11";
|
|
||||||
|
|
||||||
rootPassword = _utils.setupSingleSecret config "rootPassword" { };
|
rootPassword = _utils.setupSingleSecret config "rootPassword" { };
|
||||||
secrets = _utils.setupSharedSecrets config {
|
secrets = _utils.setupSharedSecrets config {
|
||||||
secrets = [ "userPassword" ];
|
secrets = [ "userPassword" ];
|
||||||
|
@ -23,11 +20,9 @@ in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
agenix.nixosModules.default
|
agenix.nixosModules.default
|
||||||
home-manager.nixosModules.home-manager
|
hjem.nixosModules.default
|
||||||
nix-index-database.nixosModules.nix-index
|
nix-index-database.nixosModules.nix-index
|
||||||
|
|
||||||
(lib.mkAliasOptionModule [ "hm" ] [ "home-manager" "users" username ])
|
|
||||||
|
|
||||||
rootPassword.generate
|
rootPassword.generate
|
||||||
secrets.generate
|
secrets.generate
|
||||||
|
|
||||||
|
@ -71,21 +66,17 @@ in
|
||||||
wget
|
wget
|
||||||
];
|
];
|
||||||
|
|
||||||
hm = {
|
hjem = {
|
||||||
home = { inherit stateVersion; };
|
clobberByDefault = true;
|
||||||
|
users.leo.files = {
|
||||||
programs.ssh = {
|
".ssh/config".text = ''
|
||||||
enable = true;
|
Host *
|
||||||
addKeysToAgent = "yes";
|
ForwardAgent yes
|
||||||
forwardAgent = true;
|
AddKeysToAgent yes
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager = {
|
|
||||||
useGlobalPkgs = true;
|
|
||||||
useUserPackages = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
|
@ -196,7 +187,7 @@ in
|
||||||
time.timeZone = "Europe/Paris";
|
time.timeZone = "Europe/Paris";
|
||||||
|
|
||||||
users.users = {
|
users.users = {
|
||||||
"${username}" = {
|
leo = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
shell = pkgs.fish;
|
shell = pkgs.fish;
|
||||||
extraGroups = [
|
extraGroups = [
|
||||||
|
@ -225,5 +216,5 @@ in
|
||||||
# this value at the release version of the first install of this system.
|
# this value at the release version of the first install of this system.
|
||||||
# Before changing this value read the documentation for this option
|
# Before changing this value read the documentation for this option
|
||||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||||
system.stateVersion = lib.mkDefault stateVersion; # Did you read the comment?
|
system.stateVersion = lib.mkDefault "24.11"; # Did you read the comment?
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
../programs/ghostty.nix
|
../programs/ghostty.nix
|
||||||
../programs/gnome.nix
|
../programs/gnome.nix
|
||||||
../programs/java.nix
|
../programs/java.nix
|
||||||
|
../programs/neovim/neovide.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
|
@ -44,8 +45,30 @@
|
||||||
sbctl
|
sbctl
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
|
|
||||||
|
chromium
|
||||||
|
(discord.override {
|
||||||
|
withOpenASAR = true;
|
||||||
|
withVencord = true;
|
||||||
|
})
|
||||||
|
gimp3
|
||||||
|
gparted
|
||||||
|
idea-wrapped
|
||||||
|
mpv
|
||||||
|
obsidian
|
||||||
|
strawberry
|
||||||
|
teams-for-linux
|
||||||
|
thunderbird
|
||||||
|
vscode
|
||||||
|
|
||||||
niigo-miku-cursors
|
niigo-miku-cursors
|
||||||
patchouli-cursors
|
patchouli-cursors
|
||||||
|
|
||||||
|
# libreoffice stuff
|
||||||
|
libreoffice-qt6-fresh
|
||||||
|
hunspell
|
||||||
|
hunspellDicts.en_US
|
||||||
|
hunspellDicts.fr-moderne
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
sessionVariables = {
|
sessionVariables = {
|
||||||
|
@ -77,32 +100,6 @@
|
||||||
enable32Bit = true;
|
enable32Bit = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
hm.imports = [ ../programs/neovim/neovide.nix ];
|
|
||||||
hm.home = {
|
|
||||||
packages = with pkgs; [
|
|
||||||
chromium
|
|
||||||
(discord.override {
|
|
||||||
withOpenASAR = true;
|
|
||||||
withVencord = true;
|
|
||||||
})
|
|
||||||
gimp3
|
|
||||||
gparted
|
|
||||||
idea-wrapped
|
|
||||||
mpv
|
|
||||||
obsidian
|
|
||||||
strawberry
|
|
||||||
teams-for-linux
|
|
||||||
thunderbird
|
|
||||||
vscode
|
|
||||||
|
|
||||||
# libreoffice stuff
|
|
||||||
libreoffice-qt6-fresh
|
|
||||||
hunspell
|
|
||||||
hunspellDicts.en_US
|
|
||||||
hunspellDicts.fr-moderne
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
i18n.extraLocaleSettings = {
|
i18n.extraLocaleSettings = {
|
||||||
LC_ADDRESS = "fr_FR.UTF-8";
|
LC_ADDRESS = "fr_FR.UTF-8";
|
||||||
LC_IDENTIFICATION = "fr_FR.UTF-8";
|
LC_IDENTIFICATION = "fr_FR.UTF-8";
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
{
|
{
|
||||||
lib,
|
|
||||||
pkgs,
|
pkgs,
|
||||||
config,
|
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
|
@ -31,9 +29,9 @@
|
||||||
programs.light.enable = true;
|
programs.light.enable = true;
|
||||||
|
|
||||||
# hyprland stuff
|
# hyprland stuff
|
||||||
services.blueman = lib.mkIf config.programs.hyprland.enable { enable = true; };
|
# services.blueman = lib.mkIf config.programs.hyprland.enable { enable = true; };
|
||||||
hm.wayland.windowManager.hyprland.settings.exec-once = with pkgs; [
|
# hm.wayland.windowManager.hyprland.settings.exec-once = with pkgs; [
|
||||||
"${lib.getExe networkmanagerapplet}"
|
# "${lib.getExe networkmanagerapplet}"
|
||||||
"${lib.getExe' blueman "blueman-applet"}"
|
# "${lib.getExe' blueman "blueman-applet"}"
|
||||||
];
|
# ];
|
||||||
}
|
}
|
||||||
|
|
22
flake.lock
generated
22
flake.lock
generated
|
@ -3,9 +3,7 @@
|
||||||
"agenix": {
|
"agenix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"darwin": [],
|
"darwin": [],
|
||||||
"home-manager": [
|
"home-manager": [],
|
||||||
"home-manager"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
|
@ -145,23 +143,23 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"home-manager": {
|
"hjem": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1746413188,
|
"lastModified": 1746355589,
|
||||||
"narHash": "sha256-i6BoiQP0PasExESQHszC0reQHfO6D4aI2GzOwZMOI20=",
|
"narHash": "sha256-LguszqsDBTtdBxblQTtN7vOAYmfoe43aHkB8aK1dChE=",
|
||||||
"owner": "nix-community",
|
"owner": "feel-co",
|
||||||
"repo": "home-manager",
|
"repo": "hjem",
|
||||||
"rev": "8a318641ac13d3bc0a53651feaee9560f9b2d89a",
|
"rev": "77b37eeb583d43e1c723119a69c906235174ce57",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "feel-co",
|
||||||
"repo": "home-manager",
|
"repo": "hjem",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -283,7 +281,7 @@
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts",
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils",
|
||||||
"getchvim": "getchvim",
|
"getchvim": "getchvim",
|
||||||
"home-manager": "home-manager",
|
"hjem": "hjem",
|
||||||
"lanzaboote": "lanzaboote",
|
"lanzaboote": "lanzaboote",
|
||||||
"mystia": "mystia",
|
"mystia": "mystia",
|
||||||
"nix-index-database": "nix-index-database",
|
"nix-index-database": "nix-index-database",
|
||||||
|
|
|
@ -68,7 +68,7 @@
|
||||||
url = "github:uku3lig/agenix";
|
url = "github:uku3lig/agenix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
inputs.systems.follows = "systems";
|
inputs.systems.follows = "systems";
|
||||||
inputs.home-manager.follows = "home-manager";
|
inputs.home-manager.follows = "";
|
||||||
inputs.darwin.follows = "";
|
inputs.darwin.follows = "";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -89,8 +89,8 @@
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager = {
|
hjem = {
|
||||||
url = "github:nix-community/home-manager";
|
url = "github:feel-co/hjem";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -6,17 +6,16 @@
|
||||||
fishPlugins.hydro
|
fishPlugins.hydro
|
||||||
];
|
];
|
||||||
|
|
||||||
hm.programs.fish = {
|
hjem.users.leo.files.".config/fish/config.fish".text = ''
|
||||||
enable = true;
|
function fish_greeting
|
||||||
|
end
|
||||||
|
|
||||||
interactiveShellInit = ''
|
if status is-interactive
|
||||||
set --global hydro_symbol_git_dirty "*"
|
set --global hydro_symbol_git_dirty "*"
|
||||||
set --global hydro_color_pwd blue
|
set --global hydro_color_pwd blue
|
||||||
set --global hydro_color_git magenta
|
set --global hydro_color_git magenta
|
||||||
set --global hydro_color_prompt green
|
set --global hydro_color_prompt green
|
||||||
set --global hydro_color_duration yellow
|
set --global hydro_color_duration yellow
|
||||||
|
end
|
||||||
'';
|
'';
|
||||||
|
|
||||||
functions.fish_greeting = "";
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
xpadneo.enable = true;
|
xpadneo.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
hm.home.packages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
obs-studio
|
obs-studio
|
||||||
osu-lazer-bin
|
osu-lazer-bin
|
||||||
krita
|
krita
|
||||||
|
|
|
@ -1,14 +1,12 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
hm.programs.ghostty = {
|
environment.systemPackages = [ pkgs.ghostty ];
|
||||||
enable = true;
|
|
||||||
settings = {
|
hjem.users.leo.files.".config/ghostty/config".text = ''
|
||||||
theme = "light:catppuccin-latte,dark:catppuccin-mocha";
|
font-family = Iosevka Term
|
||||||
font-family = "Iosevka Term";
|
font-feature = -calt
|
||||||
font-size = 12;
|
font-feature = -dlig
|
||||||
font-feature = [
|
font-size = 12
|
||||||
"-calt"
|
theme = light:catppuccin-latte,dark:catppuccin-mocha
|
||||||
"-dlig"
|
'';
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,36 +1,36 @@
|
||||||
{ config, ... }:
|
{ lib, pkgs, ... }:
|
||||||
{
|
{
|
||||||
programs.git.enable = true;
|
environment.systemPackages = with pkgs; [
|
||||||
|
git
|
||||||
|
gh
|
||||||
|
];
|
||||||
|
|
||||||
hm.programs = {
|
hjem.users.leo.files = {
|
||||||
git = {
|
".gitconfig".text = lib.generators.toGitINI {
|
||||||
inherit (config.programs.git) enable package;
|
user = {
|
||||||
userName = "uku";
|
name = "uku";
|
||||||
userEmail = "hi@uku.moe";
|
email = "hi@uku.moe";
|
||||||
|
signingKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN+7+KfdOrhcnHayxvOENUeMx8rE4XEIV/AxMHiaNUP8";
|
||||||
signing = {
|
|
||||||
format = "ssh";
|
|
||||||
key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN+7+KfdOrhcnHayxvOENUeMx8rE4XEIV/AxMHiaNUP8";
|
|
||||||
signByDefault = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# delta.enable = true;
|
commit = {
|
||||||
|
gpgSign = true;
|
||||||
|
verbose = true;
|
||||||
|
};
|
||||||
|
|
||||||
extraConfig = {
|
gpg.format = "ssh";
|
||||||
init.defaultBranch = "main";
|
tag.gpgSign = true;
|
||||||
core.autocrlf = "input";
|
core.autocrlf = "input";
|
||||||
push.autoSetupRemote = true;
|
diff.submodule = "log";
|
||||||
|
init.defaultBranch = "main";
|
||||||
merge.conflictStyle = "zdiff3";
|
merge.conflictStyle = "zdiff3";
|
||||||
|
push.autoSetupRemote = true;
|
||||||
rebase.autoStash = true;
|
rebase.autoStash = true;
|
||||||
status.submoduleSummary = true;
|
status.submoduleSummary = true;
|
||||||
diff.submodule = "log";
|
|
||||||
submodule.recurse = true;
|
submodule.recurse = true;
|
||||||
commit.verbose = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
gh = {
|
".config/gh/config.yml".text = lib.generators.toYAML { } {
|
||||||
enable = true;
|
|
||||||
settings.git_protocol = "ssh";
|
settings.git_protocol = "ssh";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -16,14 +16,6 @@
|
||||||
terminal = "ghostty";
|
terminal = "ghostty";
|
||||||
};
|
};
|
||||||
|
|
||||||
hm.programs.gnome-shell = {
|
|
||||||
enable = true;
|
|
||||||
extensions = with pkgs.gnomeExtensions; [
|
|
||||||
{ package = appindicator; }
|
|
||||||
{ package = dash-to-panel; }
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
# ssh-agent is provided by gnome-keyring-daemon
|
# ssh-agent is provided by gnome-keyring-daemon
|
||||||
# (mabye soon by gcr, see NixOS/nixpkgs#140824)
|
# (mabye soon by gcr, see NixOS/nixpkgs#140824)
|
||||||
programs.ssh.startAgent = lib.mkForce false;
|
programs.ssh.startAgent = lib.mkForce false;
|
||||||
|
@ -32,6 +24,8 @@
|
||||||
systemPackages = [
|
systemPackages = [
|
||||||
adw-gtk3
|
adw-gtk3
|
||||||
gnome-tweaks
|
gnome-tweaks
|
||||||
|
gnomeExtensions.appindicator
|
||||||
|
gnomeExtensions.dash-to-panel
|
||||||
];
|
];
|
||||||
|
|
||||||
gnome.excludePackages = [
|
gnome.excludePackages = [
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
# home-manager module
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
programs.neovide = {
|
environment.systemPackages = [ pkgs.neovide ];
|
||||||
enable = true;
|
|
||||||
settings.fork = true;
|
hjem.users.leo.files.".config/neovide/config.toml".text = "fork = true";
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,8 +8,8 @@ let
|
||||||
toml = pkgs.formats.toml { };
|
toml = pkgs.formats.toml { };
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
hm.home.file.".cargo/config.toml".source = toml.generate "config.toml" {
|
hjem.users.leo.files.".cargo/config.toml".source = toml.generate "config.toml" {
|
||||||
build.target-dir = "${config.hm.home.homeDirectory}/.cargo/target";
|
build.target-dir = "${config.hjem.users.leo.directory}/.cargo/target";
|
||||||
|
|
||||||
target.x86_64-unknown-linux-gnu = {
|
target.x86_64-unknown-linux-gnu = {
|
||||||
linker = "${lib.getExe pkgs.clang}";
|
linker = "${lib.getExe pkgs.clang}";
|
||||||
|
|
|
@ -7,20 +7,18 @@
|
||||||
|
|
||||||
services.xserver.videoDrivers = [ "amdgpu" ];
|
services.xserver.videoDrivers = [ "amdgpu" ];
|
||||||
|
|
||||||
hm = {
|
environment.systemPackages = with pkgs; [
|
||||||
home.packages = with pkgs; [
|
|
||||||
wineWowPackages.waylandFull
|
wineWowPackages.waylandFull
|
||||||
];
|
];
|
||||||
|
|
||||||
wayland.windowManager.hyprland.settings = {
|
# hm = {
|
||||||
monitor = "DP-1,3840x2160@144,0x0,1.5";
|
# wayland.windowManager.hyprland.settings = {
|
||||||
|
# monitor = "DP-1,3840x2160@144,0x0,1.5";
|
||||||
xwayland.force_zero_scaling = true;
|
# xwayland.force_zero_scaling = true;
|
||||||
|
# env = [
|
||||||
env = [
|
# "GDK_SCALE,1.5"
|
||||||
"GDK_SCALE,1.5"
|
# "XCURSOR_SIZE,24"
|
||||||
"XCURSOR_SIZE,24"
|
# ];
|
||||||
];
|
# };
|
||||||
};
|
# };
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,10 +37,10 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
hm.wayland.windowManager.hyprland.settings.env = [
|
# hm.wayland.windowManager.hyprland.settings.env = [
|
||||||
"XDG_SESSION_TYPE,wayland"
|
# "XDG_SESSION_TYPE,wayland"
|
||||||
"GBM_BACKEND,nvidia-drm"
|
# "GBM_BACKEND,nvidia-drm"
|
||||||
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
|
# "__GLX_VENDOR_LIBRARY_NAME,nvidia"
|
||||||
"NVD_BACKEND,direct"
|
# "NVD_BACKEND,direct"
|
||||||
];
|
# ];
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,9 +29,14 @@ in
|
||||||
|
|
||||||
i18n.defaultLocale = lib.mkForce "fr_FR.UTF-8";
|
i18n.defaultLocale = lib.mkForce "fr_FR.UTF-8";
|
||||||
|
|
||||||
hm.programs = {
|
hjem.users.leo.files = {
|
||||||
git.includes = [ { path = "~/.config/git/work_config"; } ];
|
".gitconfig".text = lib.generators.toGitINI {
|
||||||
ssh.includes = [ "work_config" ];
|
include.path = "~/.config/git/work_config";
|
||||||
|
};
|
||||||
|
|
||||||
|
".ssh/config".text = lib.mkBefore ''
|
||||||
|
Include work_config
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [ 8000 ];
|
networking.firewall.allowedTCPPorts = [ 8000 ];
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue