progress...
This commit is contained in:
33
config/hosts/aspects/doloro-laptop/hardware.nix
Normal file
33
config/hosts/aspects/doloro-laptop/hardware.nix
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
den,
|
||||
modules,
|
||||
__findFile,
|
||||
...
|
||||
}:
|
||||
{
|
||||
den.aspects.laptop = {
|
||||
nixos =
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
{
|
||||
|
||||
boot.initrd.availableKernelModules = [
|
||||
"xhci_pci"
|
||||
"thunderbolt"
|
||||
"vmd"
|
||||
"nvme"
|
||||
];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -9,17 +9,20 @@
|
||||
includes = [
|
||||
<den/primary-user>
|
||||
den.aspects.doloro-shared
|
||||
modules.user.doloro
|
||||
modules.hyprland
|
||||
<modules/hyprland/doloro-settings>
|
||||
modules.sops
|
||||
modules.fish
|
||||
<modules/zen-browser>
|
||||
modules.kitty
|
||||
];
|
||||
nixos =
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
users.users.doloro = {
|
||||
isNormalUser = true;
|
||||
shell = pkgs.fish;
|
||||
initialPassword = "sex";
|
||||
hashedPasswordFile = config.sops.secrets."doloro-hashed_password".path;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
den.aspects.laptop = {
|
||||
includes = [
|
||||
modules.nix
|
||||
modules.tuigreet
|
||||
];
|
||||
nixos =
|
||||
{ pkgs, config, ... }:
|
||||
@@ -49,7 +50,7 @@
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
|
||||
hardware = {
|
||||
firmware = [ pkgs.intel-npu-driver ];
|
||||
# firmware = [ pkgs.intel-npu-driver ];
|
||||
cpu.intel = {
|
||||
# npu.enable = true;
|
||||
};
|
||||
@@ -109,6 +110,9 @@
|
||||
# ];
|
||||
# # initialPassword = "sex";
|
||||
# };
|
||||
users.users.root = {
|
||||
password = "meowmeowmeow";
|
||||
};
|
||||
users.mutableUsers = false;
|
||||
services.system76-scheduler.enable = true;
|
||||
|
||||
|
||||
@@ -1,15 +1,26 @@
|
||||
{ den, modules, ... }:
|
||||
{
|
||||
den,
|
||||
modules,
|
||||
__findFile,
|
||||
...
|
||||
}:
|
||||
{
|
||||
den.aspects.doloro-shared = {
|
||||
includes = [
|
||||
modules.nixvim
|
||||
modules.nix
|
||||
modules.tmux
|
||||
<modules/git/doloro>
|
||||
];
|
||||
homeManager = {
|
||||
homeManager =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home = {
|
||||
username = "doloro";
|
||||
homeDirectory = "/home/doloro";
|
||||
packages = with pkgs; [ wl-clipboard ];
|
||||
};
|
||||
programs.home-manager.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,24 +1,24 @@
|
||||
{ den, __findFile, ... }:
|
||||
{
|
||||
# Homes
|
||||
den.homes.x86_64-linux.doloro-desktop = {
|
||||
userName = "doloro";
|
||||
};
|
||||
# TODO
|
||||
# den.homes.x86_64-linux.doloro-laptop = {
|
||||
# den.homes.x86_64-linux.doloro-desktop = {
|
||||
# userName = "doloro";
|
||||
# };
|
||||
# Machines
|
||||
den.hosts.x86_64-linux.desktop = {
|
||||
users.doloro = {
|
||||
includes = [ <modules/user/groups> ];
|
||||
aspect = "doloro-desktop";
|
||||
};
|
||||
};
|
||||
# TODO
|
||||
# den.hosts.x86_64-linux.laptop = {
|
||||
den.homes.x86_64-linux.doloro-laptop = {
|
||||
userName = "doloro";
|
||||
};
|
||||
# Machines
|
||||
# den.hosts.x86_64-linux.desktop = {
|
||||
# users.doloro = {
|
||||
# aspect = "doloro-laptop";
|
||||
# includes = [ <modules/user/groups> ];
|
||||
# aspect = "doloro-desktop";
|
||||
# };
|
||||
# };
|
||||
# TODO
|
||||
den.hosts.x86_64-linux.laptop = {
|
||||
users.doloro = {
|
||||
aspect = "doloro-laptop";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
{ modules, pkgs, ... }:
|
||||
{ modules, ... }:
|
||||
{
|
||||
modules.fish = {
|
||||
nixos = {
|
||||
programs.fish.enable = true;
|
||||
};
|
||||
homeManager = {
|
||||
homeManager =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.shell.enableFishIntegration = true;
|
||||
home.packages = [ pkgs.nix-output-monitor ];
|
||||
programs = {
|
||||
@@ -38,6 +40,10 @@
|
||||
git = true;
|
||||
extraOptions = [ ];
|
||||
};
|
||||
direnv = {
|
||||
enable = true;
|
||||
nix-direnv.enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
45
config/modules/git.nix
Normal file
45
config/modules/git.nix
Normal file
@@ -0,0 +1,45 @@
|
||||
{ den, modules, ... }:
|
||||
{
|
||||
modules.git = {
|
||||
provides = {
|
||||
doloro = {
|
||||
homeManager =
|
||||
{ home, pkgs, ... }:
|
||||
{
|
||||
programs.git = {
|
||||
enable = true;
|
||||
settings = {
|
||||
user = {
|
||||
name = "Doloro1978";
|
||||
email = "doloroo@proton.me";
|
||||
signingKey = "089B373588540877";
|
||||
};
|
||||
commit = {
|
||||
gpgSign = true;
|
||||
};
|
||||
pull = {
|
||||
rebase = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
programs.gpg = {
|
||||
enable = true;
|
||||
};
|
||||
services = {
|
||||
gpg-agent = {
|
||||
enable = true;
|
||||
pinentry = {
|
||||
package = pkgs.pinentry-qt;
|
||||
program = "pinentry-qt";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
nixos =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -101,6 +101,7 @@
|
||||
"$mainMod, C, killactive"
|
||||
"$mainMod, M, exec, uwsm stop"
|
||||
"$mainMod, E, exec, $fileManager"
|
||||
"$mainMod, Q, exec, kitty"
|
||||
"$mainMod, V, togglefloating,"
|
||||
"$mainMod, P, pseudo, # dwindle"
|
||||
"$mainMod, J, togglesplit, # dwindle"
|
||||
|
||||
@@ -11,6 +11,12 @@
|
||||
nixos =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
wayfreeze
|
||||
grim
|
||||
slurp
|
||||
wlogout
|
||||
];
|
||||
programs.xwayland.enable = true;
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
|
||||
19
config/modules/kitty.nix
Normal file
19
config/modules/kitty.nix
Normal file
@@ -0,0 +1,19 @@
|
||||
{ den, modules, ... }:
|
||||
{
|
||||
modules.kitty = {
|
||||
homeManager = {
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
font = {
|
||||
name = "Google Sans Code Nerd Font";
|
||||
size = 11;
|
||||
};
|
||||
settings = {
|
||||
sync_to_monitor = "yes";
|
||||
background_opacity = 0.6;
|
||||
cursor_trail = 1;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -8,7 +8,9 @@
|
||||
};
|
||||
};
|
||||
modules.sops = {
|
||||
homeManager = {
|
||||
homeManager =
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
inputs.sops-nix.homeManagerModules.sops
|
||||
];
|
||||
@@ -17,12 +19,14 @@
|
||||
defaultSopsFile = ./secrets.yaml;
|
||||
};
|
||||
};
|
||||
nixos = {
|
||||
nixos =
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
inputs.sops-nix.nixosModules.sops
|
||||
];
|
||||
sops = {
|
||||
age.keyFile = "/etc/ssh/ssh_host_ed25519_key";
|
||||
# age.keyFile = "/etc/ssh/ssh_host_ed25519_key";
|
||||
defaultSopsFile = ./secrets.yaml;
|
||||
secrets = {
|
||||
root-hashed_password = {
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
{ pkgs, modules, ... }:
|
||||
{ modules, ... }:
|
||||
{
|
||||
modules.tmux = {
|
||||
homeManager =
|
||||
{ home, pkgs, ... }:
|
||||
{
|
||||
programs.tmux = {
|
||||
enable = true;
|
||||
plugins = with pkgs.tmuxPlugins; [
|
||||
@@ -15,4 +18,5 @@
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
18
config/modules/tuigreetd.nix
Normal file
18
config/modules/tuigreetd.nix
Normal file
@@ -0,0 +1,18 @@
|
||||
{ den, modules, ... }:
|
||||
{
|
||||
modules.tuigreet = {
|
||||
nixos =
|
||||
{ pkgs, config, ... }:
|
||||
{
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
settings = {
|
||||
default_session = {
|
||||
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --sessions ${config.services.xserver.displayManager.sessionData.desktops}/share/xsessions:${config.services.xserver.displayManager.sessionData.desktops}/share/wayland-sessions --remember --remember-user-session";
|
||||
user = "greeter";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
88
config/modules/zen-browser.nix
Normal file
88
config/modules/zen-browser.nix
Normal file
@@ -0,0 +1,88 @@
|
||||
{
|
||||
den,
|
||||
modules,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
flake-file.inputs = {
|
||||
zen-browser.url = "github:youwen5/zen-browser-flake";
|
||||
zen-browser.inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
modules.zen-browser = {
|
||||
homeManager =
|
||||
{
|
||||
home,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
extension = shortId: guid: {
|
||||
name = guid;
|
||||
value = {
|
||||
install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${shortId}/latest.xpi";
|
||||
installation_mode = "normal_installed";
|
||||
};
|
||||
};
|
||||
|
||||
prefs = {
|
||||
# Check these out at about:config
|
||||
"extensions.autoDisableScopes" = 0;
|
||||
"extensions.pocket.enabled" = false;
|
||||
# ...
|
||||
};
|
||||
|
||||
extensions = [
|
||||
# To add additional extensions, find it on addons.mozilla.org, find
|
||||
# the short ID in the url (like https://addons.mozilla.org/en-US/firefox/addon/!SHORT_ID!/)
|
||||
# Then go to https://addons.mozilla.org/api/v5/addons/addon/!SHORT_ID!/ to get the guid
|
||||
(extension "ublock-origin" "uBlock0@raymondhill.net")
|
||||
# ...
|
||||
];
|
||||
in
|
||||
{
|
||||
home.packages = [
|
||||
(pkgs.wrapFirefox
|
||||
inputs.zen-browser.packages.${pkgs.stdenv.hostPlatform.system}.zen-browser-unwrapped
|
||||
{
|
||||
extraPrefs = lib.concatLines (
|
||||
lib.mapAttrsToList (
|
||||
name: value: "lockPref(${lib.strings.toJSON name}, ${lib.strings.toJSON value});"
|
||||
) prefs
|
||||
);
|
||||
|
||||
extraPolicies = {
|
||||
DisableTelemetry = true;
|
||||
ExtensionSettings = builtins.listToAttrs extensions;
|
||||
|
||||
SearchEngines = {
|
||||
Default = "ddg";
|
||||
Add = [
|
||||
{
|
||||
Name = "nixpkgs packages";
|
||||
URLTemplate = "https://search.nixos.org/packages?query={searchTerms}";
|
||||
IconURL = "https://wiki.nixos.org/favicon.ico";
|
||||
Alias = "@np";
|
||||
}
|
||||
{
|
||||
Name = "NixOS options";
|
||||
URLTemplate = "https://search.nixos.org/options?query={searchTerms}";
|
||||
IconURL = "https://wiki.nixos.org/favicon.ico";
|
||||
Alias = "@no";
|
||||
}
|
||||
{
|
||||
Name = "NixOS Wiki";
|
||||
URLTemplate = "https://wiki.nixos.org/w/index.php?search={searchTerms}";
|
||||
IconURL = "https://wiki.nixos.org/favicon.ico";
|
||||
Alias = "@nw";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
)
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
23
flake.lock
generated
23
flake.lock
generated
@@ -716,7 +716,8 @@
|
||||
"nixvim": "nixvim",
|
||||
"raspberry-pi-nix": "raspberry-pi-nix",
|
||||
"sops-nix": "sops-nix",
|
||||
"systems": "systems_3"
|
||||
"systems": "systems_3",
|
||||
"zen-browser": "zen-browser"
|
||||
}
|
||||
},
|
||||
"rpi-bluez-firmware-src": {
|
||||
@@ -943,6 +944,26 @@
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"zen-browser": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1770438797,
|
||||
"narHash": "sha256-pwnQTmZswF6bu2/Ie7ajOo8w6rXQwVI954S9WX1UG3w=",
|
||||
"owner": "youwen5",
|
||||
"repo": "zen-browser-flake",
|
||||
"rev": "d396599774bdbafeb86c122dc2c422c7084ea390",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "youwen5",
|
||||
"repo": "zen-browser-flake",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
|
||||
Reference in New Issue
Block a user