reorg
This commit is contained in:
parent
fe3dde6667
commit
d37834a164
30 changed files with 245 additions and 179 deletions
12
flake.lock
generated
12
flake.lock
generated
|
|
@ -25,11 +25,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1701433070,
|
||||
"narHash": "sha256-Gf9JStfENaUQ7YWFz3V7x/srIwr4nlnVteqaAxtwpgM=",
|
||||
"lastModified": 1701609479,
|
||||
"narHash": "sha256-mcEnMz7XB3K57ZX16VXoEkswljSNGXdMuUu5+g8a8R8=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "4a8545f5e737a6338814a4676dc8e18c7f43fc57",
|
||||
"rev": "e504e8d01f950776c3a3160ba38c5957a1b89e66",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -40,11 +40,11 @@
|
|||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1701250978,
|
||||
"narHash": "sha256-ohu3cz4edjpGxs2qUTgbs0WrnewOX4crnUJNEB6Jox4=",
|
||||
"lastModified": 1701598471,
|
||||
"narHash": "sha256-kHdJ2qc4qKeMTzUIHEcP41ah/dBIhCgvWgrjllt2G78=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "8772491ed75f150f02552c60694e1beff9f46013",
|
||||
"rev": "a89745edd5f657e2e5be5ed1bea86725ca78d92e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
|||
36
flake.nix
36
flake.nix
|
|
@ -19,11 +19,33 @@
|
|||
};
|
||||
outputs = { self, nixpkgs, home-manager, nixos-hardware, nvim, ... } @inputs:
|
||||
let
|
||||
username = "e";
|
||||
in {
|
||||
nixosConfigurations = ( import ./nixos { inherit inputs; } );
|
||||
homeConfigurations = (
|
||||
import ./home { inherit inputs; }
|
||||
);
|
||||
attrs = {
|
||||
username = "e";
|
||||
};
|
||||
}
|
||||
system = "x86_64-linux";
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
config.allowUnfree = true;
|
||||
overlays = [
|
||||
(final: prev: {
|
||||
inherit (inputs.nvim.packages.${final.system}) full;
|
||||
inherit (inputs.tfa.packages.${final.system}) twofa;
|
||||
})
|
||||
];
|
||||
};
|
||||
in {
|
||||
nixosConfigurations = (
|
||||
import ./nixos { inherit inputs pkgs attrs; }
|
||||
);
|
||||
homeConfigurations = (
|
||||
import ./home-manager { inherit inputs pkgs attrs; }
|
||||
);
|
||||
devShells.${system}.default = pkgs.mkShell {
|
||||
buildInputs = [
|
||||
pkgs.nix
|
||||
pkgs.home-manager
|
||||
pkgs.git
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
31
home-manager/default.nix
Normal file
31
home-manager/default.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{ inputs, pkgs, attrs, ...}:
|
||||
{
|
||||
"e" = inputs.home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
extraSpecialArgs = {
|
||||
inherit inputs attrs;
|
||||
host = {
|
||||
hostName = "t14";
|
||||
username = attrs.username;
|
||||
};
|
||||
};
|
||||
modules = [
|
||||
./t14/home.nix
|
||||
./home.nix
|
||||
];
|
||||
};
|
||||
"minimal" = inputs.home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
extraSpecialArgs = {
|
||||
inherit inputs attrs;
|
||||
host = {
|
||||
hostName = "e";
|
||||
username = attrs.username;
|
||||
};
|
||||
};
|
||||
modules = [
|
||||
./home.nix
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
12
home-manager/home.nix
Executable file
12
home-manager/home.nix
Executable file
|
|
@ -0,0 +1,12 @@
|
|||
{ inputs, pkgs, ... }:
|
||||
{
|
||||
programs.home-manager.enable = true;
|
||||
nix = {
|
||||
registry.nixpkgs.flake = inputs.nixpkgs;
|
||||
};
|
||||
home = {
|
||||
stateVersion = "22.11";
|
||||
};
|
||||
imports = [ ./shared/programs/min.nix ];
|
||||
xdg.enable = true;
|
||||
}
|
||||
10
home-manager/shared/programs/default.nix
Normal file
10
home-manager/shared/programs/default.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
{ home-manager, config, lib, pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
./dev
|
||||
./nvim
|
||||
./shell
|
||||
./2fa
|
||||
./warrior
|
||||
];
|
||||
}
|
||||
6
home-manager/shared/programs/min.nix
Normal file
6
home-manager/shared/programs/min.nix
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{ home-manager, config, lib, pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
./shell
|
||||
];
|
||||
}
|
||||
|
|
@ -1,15 +1,14 @@
|
|||
{ pkgs, host, ...}:
|
||||
{
|
||||
imports = [
|
||||
(import ./tmux.nix)
|
||||
./tmux.nix
|
||||
./git.nix
|
||||
];
|
||||
programs.bash = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
historyControl = [ "ignorespace" ];
|
||||
historyIgnore = [
|
||||
"ls"
|
||||
"cd"
|
||||
":q"
|
||||
"exit"
|
||||
];
|
||||
|
|
@ -22,6 +21,8 @@
|
|||
hms = "home-manager switch --flake $NIX_FLAKE#${host.username}";
|
||||
rbs = "sudo nixos-rebuild switch --flake $NIX_FLAKE#${host.hostName}";
|
||||
nvim-dev = "nix run ~/dev/nvim.nix";
|
||||
g = "git";
|
||||
k = "kubectl";
|
||||
};
|
||||
shellOptions = [
|
||||
"cmdhist"
|
||||
|
|
@ -67,6 +68,7 @@
|
|||
};
|
||||
programs.fzf = {
|
||||
enable = true;
|
||||
historyWidgetOptions = ["--height 60% --preview ''"];
|
||||
fileWidgetCommand = "command find -L . -mindepth 1 -o -fstype 'sysfs' -o -fstype 'devfs' -o -fstype 'devtmpfs' -o -fstype 'proc' -prune";
|
||||
};
|
||||
}
|
||||
26
home-manager/shared/programs/shell/git.nix
Executable file
26
home-manager/shared/programs/shell/git.nix
Executable file
|
|
@ -0,0 +1,26 @@
|
|||
{ ... }:
|
||||
{
|
||||
programs.git= {
|
||||
enable = true;
|
||||
userEmail = "cjriddz@protonmail.com";
|
||||
userName = "iofq";
|
||||
delta = {
|
||||
enable = true;
|
||||
options = {
|
||||
side-by-side = true;
|
||||
line-numbers = true;
|
||||
};
|
||||
};
|
||||
extraConfig = {
|
||||
core.editor = "nvim";
|
||||
};
|
||||
aliases = {
|
||||
a = "add . -p";
|
||||
s = "status";
|
||||
f = "fetch";
|
||||
d = "diff";
|
||||
cm = "commit -m";
|
||||
rb = "rebase -i";
|
||||
};
|
||||
};
|
||||
}
|
||||
9
home-manager/shared/wayland/audio/default.nix
Executable file
9
home-manager/shared/wayland/audio/default.nix
Executable file
|
|
@ -0,0 +1,9 @@
|
|||
{pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
pulseaudio
|
||||
pulsemixer
|
||||
alsa-utils
|
||||
mpv
|
||||
];
|
||||
}
|
||||
10
home-manager/shared/wayland/default.nix
Normal file
10
home-manager/shared/wayland/default.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
{ home-manager, config, lib, pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
./librewolf
|
||||
./alacritty
|
||||
(import ./sway)
|
||||
./xdg
|
||||
./audio
|
||||
];
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
{ home-manager, username, config, lib, pkgs, ... }:
|
||||
{ home-manager, config, lib, pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
wl-clipboard
|
||||
|
|
@ -61,6 +61,8 @@
|
|||
keybindings = let
|
||||
modifier = config.wayland.windowManager.sway.config.modifier;
|
||||
in lib.mkOptionDefault {
|
||||
Prior = "nop";
|
||||
Next = "nop";
|
||||
"${modifier}+x" = "kill";
|
||||
"${modifier}+space" = "exec ${pkgs.dmenu}/bin/dmenu_path | ${pkgs.dmenu}/bin/dmenu | ${pkgs.findutils}/bin/xargs swaymsg exec --";
|
||||
"${modifier}+bracketleft" = "exec --no-startup-id grimshot --notify save area /tmp/scrot-$(date \"+%Y-%m-%d\"T\"%H:%M:%S\").png";
|
||||
42
home-manager/shared/wayland/xdg/default.nix
Executable file
42
home-manager/shared/wayland/xdg/default.nix
Executable file
|
|
@ -0,0 +1,42 @@
|
|||
{pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
xdg-utils
|
||||
];
|
||||
xdg.configFile."mimeapps.list".force = true;
|
||||
xdg.mimeApps = {
|
||||
enable = true;
|
||||
defaultApplications = {
|
||||
"x-scheme-handler/http" = "librewolf.desktop";
|
||||
"x-scheme-handler/https" = "librewolf.desktop";
|
||||
"x-scheme-handler/chrome" = "librewolf.desktop";
|
||||
"video/mp4" = "librewolf.desktop";
|
||||
"video/mkv" = "librewolf.desktop";
|
||||
"image/jpeg" = "librewolf.desktop";
|
||||
"image/jpg" = "librewolf.desktop";
|
||||
"image/png" = "librewolf.desktop";
|
||||
"application/epub" = "librewolf.desktop";
|
||||
"application/pdf" = "librewolf.desktop";
|
||||
"application/x-extension-htm" = "librewolf.desktop";
|
||||
"application/x-extension-html" = "librewolf.desktop";
|
||||
"application/x-extension-shtml" = "librewolf.desktop";
|
||||
"application/xhtml+xml" = "librewolf.desktop";
|
||||
"application/x-extension-xhtml" = "librewolf.desktop";
|
||||
"application/x-extension-xht" = "librewolf.desktop";
|
||||
"x-scheme-handler/about" = "librewolf.desktop";
|
||||
"x-scheme-handler/unknown" = "librewolf.desktop";
|
||||
};
|
||||
associations.added = {
|
||||
"x-scheme-handler/http" = "librewolf.desktop";
|
||||
"x-scheme-handler/https" = "librewolf.desktop";
|
||||
"x-scheme-handler/chrome" = "librewolf.desktop";
|
||||
"text/html" = "librewolf.desktop;";
|
||||
"application/x-extension-htm" = "librewolf.desktop;";
|
||||
"application/x-extension-html" = "librewolf.desktop;";
|
||||
"application/x-extension-shtml" = "librewolf.desktop;";
|
||||
"application/xhtml+xml" = "librewolf.desktop;";
|
||||
"application/x-extension-xhtml" = "librewolf.desktop;";
|
||||
"application/x-extension-xht" = "librewolf.desktop;";
|
||||
};
|
||||
};
|
||||
}
|
||||
35
home-manager/t14/home.nix
Executable file
35
home-manager/t14/home.nix
Executable file
|
|
@ -0,0 +1,35 @@
|
|||
{ pkgs, attrs, ... }:
|
||||
{
|
||||
imports = [
|
||||
../shared/programs/default.nix
|
||||
../shared/wayland/default.nix
|
||||
];
|
||||
home = {
|
||||
username = attrs.username;
|
||||
homeDirectory = "/home/" + attrs.username;
|
||||
packages = with pkgs; [
|
||||
# gaming
|
||||
prismlauncher
|
||||
runelite
|
||||
jdk17
|
||||
|
||||
# comms
|
||||
signal-desktop
|
||||
discord
|
||||
|
||||
# apps
|
||||
framesh
|
||||
chromium
|
||||
|
||||
# font
|
||||
spleen
|
||||
|
||||
# sysutils
|
||||
appimage-run
|
||||
wireguard-tools
|
||||
|
||||
];
|
||||
};
|
||||
fonts.fontconfig.enable = true;
|
||||
systemd.user.startServices = "sd-switch";
|
||||
}
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
{ inputs, pkgs, ... }:
|
||||
{
|
||||
programs.home-manager.enable = true;
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
nix = {
|
||||
settings = {
|
||||
auto-optimise-store = true;
|
||||
};
|
||||
package = pkgs.nixFlakes;
|
||||
registry.nixpkgs.flake = inputs.nixpkgs;
|
||||
extraOptions = ''
|
||||
experimental-features = nix-command flakes
|
||||
'';
|
||||
};
|
||||
home = {
|
||||
stateVersion = "22.11";
|
||||
packages = with pkgs; [
|
||||
pulseaudio
|
||||
pulsemixer
|
||||
alsa-utils
|
||||
appimage-run
|
||||
wireguard-tools
|
||||
spleen
|
||||
mpv
|
||||
];
|
||||
};
|
||||
imports = ( import ../modules/programs );
|
||||
xdg.enable = true;
|
||||
xdg.configFile."mimeapps.list".force = true;
|
||||
fonts.fontconfig.enable = true;
|
||||
systemd.user.startServices = "sd-switch";
|
||||
}
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
{ inputs, ...}:
|
||||
{
|
||||
"e" = inputs.home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = import inputs.nixpkgs {
|
||||
system = "x86_64-linux";
|
||||
config.allowUnfree = true;
|
||||
overlays = [
|
||||
(final: prev: {
|
||||
inherit (inputs.nvim.packages.${final.system}) full;
|
||||
inherit (inputs.tfa.packages.${final.system}) twofa;
|
||||
})
|
||||
];
|
||||
};
|
||||
extraSpecialArgs = {
|
||||
inherit inputs;
|
||||
host = {
|
||||
hostName = "t14";
|
||||
username = "e";
|
||||
};
|
||||
};
|
||||
modules = [
|
||||
./t14/home.nix
|
||||
./common.nix
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
../../modules/wayland
|
||||
../../modules/librewolf
|
||||
];
|
||||
home = {
|
||||
username = "e";
|
||||
homeDirectory = "/home/e";
|
||||
packages = with pkgs; [
|
||||
discord
|
||||
signal-desktop
|
||||
runelite
|
||||
framesh
|
||||
ledger-live-desktop
|
||||
prismlauncher
|
||||
chromium
|
||||
jdk17
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
[
|
||||
./dev.nix
|
||||
./alacritty
|
||||
./nvim
|
||||
./shell
|
||||
./git
|
||||
./2fa
|
||||
./direnv
|
||||
./xdg
|
||||
./warrior
|
||||
]
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
{ ... }:
|
||||
{
|
||||
programs.git= {
|
||||
enable = true;
|
||||
userEmail = "cjriddz@protonmail.com";
|
||||
userName = "iofq";
|
||||
};
|
||||
}
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
{pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
xdg-utils
|
||||
];
|
||||
xdg.mimeApps = {
|
||||
enable = true;
|
||||
defaultApplications = {
|
||||
"x-scheme-handler/http" = "io.gitlab.librewolf-community.desktop";
|
||||
"x-scheme-handler/https" = "io.gitlab.librewolf-community.desktop";
|
||||
"x-scheme-handler/chrome" = "io.gitlab.librewolf-community.desktop";
|
||||
"video/mp4" = "io.gitlab.librewolf-community.desktop";
|
||||
"video/mkv" = "io.gitlab.librewolf-community.desktop";
|
||||
"image/jpeg" = "io.gitlab.librewolf-community.desktop";
|
||||
"image/jpg" = "io.gitlab.librewolf-community.desktop";
|
||||
"image/png" = "io.gitlab.librewolf-community.desktop";
|
||||
"application/epub" = "io.gitlab.librewolf-community.desktop";
|
||||
"application/pdf" = "io.gitlab.librewolf-community.desktop";
|
||||
"application/x-extension-htm" = "io.gitlab.librewolf-community.desktop";
|
||||
"application/x-extension-html" = "io.gitlab.librewolf-community.desktop";
|
||||
"application/x-extension-shtml" = "io.gitlab.librewolf-community.desktop";
|
||||
"application/xhtml+xml" = "io.gitlab.librewolf-community.desktop";
|
||||
"application/x-extension-xhtml" = "io.gitlab.librewolf-community.desktop";
|
||||
"application/x-extension-xht" = "io.gitlab.librewolf-community.desktop";
|
||||
"x-scheme-handler/about" = "io.gitlab.librewolf-community.desktop";
|
||||
"x-scheme-handler/unknown" = "io.gitlab.librewolf-community.desktop";
|
||||
};
|
||||
associations.added = {
|
||||
"x-scheme-handler/http" = "io.gitlab.librewolf-community.desktop";
|
||||
"x-scheme-handler/https" = "io.gitlab.librewolf-community.desktop";
|
||||
"x-scheme-handler/chrome" = "io.gitlab.librewolf-community.desktop";
|
||||
"text/html" = "io.gitlab.librewolf-community.desktop;";
|
||||
"application/x-extension-htm" = "io.gitlab.librewolf-community.desktop;";
|
||||
"application/x-extension-html" = "io.gitlab.librewolf-community.desktop;";
|
||||
"application/x-extension-shtml" = "io.gitlab.librewolf-community.desktop;";
|
||||
"application/xhtml+xml" = "io.gitlab.librewolf-community.desktop;";
|
||||
"application/x-extension-xhtml" = "io.gitlab.librewolf-community.desktop;";
|
||||
"application/x-extension-xht" = "io.gitlab.librewolf-community.desktop;";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -10,8 +10,9 @@
|
|||
networking.hostName = host.hostName;
|
||||
networking.firewall = {
|
||||
enable = true;
|
||||
allowedTCPPorts = [];
|
||||
allowedTCPPorts = [11111];
|
||||
allowedUDPPorts = [];
|
||||
logRefusedConnections = true;
|
||||
};
|
||||
users.users.${host.username} = {
|
||||
isNormalUser = true;
|
||||
|
|
@ -25,13 +26,15 @@
|
|||
time.timeZone = "America/Chicago";
|
||||
|
||||
# Enable flakes and unfree packages
|
||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||
nix.settings = {
|
||||
auto-optimise-store = true;
|
||||
experimental-features = [ "nix-command" "flakes" ];
|
||||
};
|
||||
nix.gc = {
|
||||
automatic = true;
|
||||
dates = "00:00";
|
||||
options = "--delete-older-than 14d";
|
||||
};
|
||||
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
system.stateVersion = "22.11";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,16 +24,27 @@
|
|||
startAgent = true;
|
||||
};
|
||||
services.flatpak.enable = true;
|
||||
services.dbus.enable = true;
|
||||
xdg = {
|
||||
portal = {
|
||||
enable = true;
|
||||
extraPortals = with pkgs; [
|
||||
xdg-desktop-portal-wlr
|
||||
xdg-desktop-portal-gtk
|
||||
];
|
||||
xdgOpenUsePortal = true;
|
||||
wlr.enable = true;
|
||||
config = {
|
||||
common = {
|
||||
default = [
|
||||
"wlr"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
hardware.opengl.enable = true;
|
||||
hardware.opengl.extraPackages = [
|
||||
pkgs.mesa.drivers
|
||||
pkgs.libGL
|
||||
];
|
||||
hardware.opengl.setLdLibraryPath = true;
|
||||
|
||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||
system.stateVersion = "22.11";
|
||||
|
|
|
|||
15
shell.nix
15
shell.nix
|
|
@ -1,15 +0,0 @@
|
|||
# devshell for bootstrapping nixos and home-manager
|
||||
# nix develop
|
||||
|
||||
{ pkgs }: {
|
||||
default = pkgs.mkShell {
|
||||
NIX_CONFIG = "experimental-features = nix-command flakes";
|
||||
nativeBuildInputs = with pkgs; [
|
||||
nix
|
||||
home-manager
|
||||
git
|
||||
vim
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue