refactor: consistency between files

This commit is contained in:
Gustavo "Guz" L. de Mello
2024-02-10 18:27:02 -03:00
parent a0bf703eee
commit bb84b44861
20 changed files with 330 additions and 309 deletions

View File

@@ -1,4 +1,4 @@
{ pkgs, config, ... }:
{ config, ... }:
let
cfg = config.desktop;

View File

@@ -48,8 +48,12 @@ let
'';
in
{
home.packages = [
desktop
];
imports = [ ];
options.desktop.cli = { };
config = {
home.packages = [
desktop
];
};
}

View File

@@ -1,15 +1,17 @@
{ config, pkgs, inputs, lib, ... }:
{ pkgs, ... }:
{
imports = [
../shared-configuration.nix
];
set-user.users = [
{
username = "guz";
shell = pkgs.zsh;
home = import ./home.nix;
}
];
options.default.configuration = { };
config = {
set-user.users = [
{
username = "guz";
shell = pkgs.zsh;
home = import ./home.nix;
}
];
};
}

View File

@@ -1,12 +1,15 @@
{ config, pkgs, inputs, ... }:
{ ... }:
{
imports = [
../shared-home.nix
];
librewolf.profiles.guz.isDefault = true;
options.default.home = { };
config = {
librewolf.profiles.guz.isDefault = true;
services.flatpak.packages = [
"com.valvesoftware.Steam"
];
services.flatpak.packages = [
"com.valvesoftware.Steam"
];
};
}

View File

@@ -7,98 +7,97 @@
# Include the results of the hardware scan.
./hardware-configuration.nix
];
options.shared.configuration = { };
config = {
sops.defaultSopsFile = ../../secrets/desktop-secrets.yaml;
sops.defaultSopsFormat = "yaml";
sops.defaultSopsFile = ../../secrets/desktop-secrets.yaml;
sops.defaultSopsFormat = "yaml";
sops.secrets.lon = {
owner = config.users.users.guz.name;
sops.secrets.lon = {
owner = config.users.users.guz.name;
};
sops.secrets.lat = {
owner = config.users.users.guz.name;
};
sops.age.keyFile = "/home/guz/.config/sops/age/keys.txt";
programs.hyprland = {
enable = true;
xwayland.enable = true;
package = inputs.hyprland.packages."${pkgs.system}".hyprland;
portalPackage = inputs.xdg-desktop-portal-hyprland.packages."${pkgs.system}".xdg-desktop-portal-hyprland;
};
xdg.portal.enable = true;
xdg.portal.extraPortals = with pkgs; [
xdg-desktop-portal-gnome
];
environment.sessionVariables = {
WLR_NO_HARDWARE_CURSORS = "1";
NIXOS_OZONE_WL = "1";
};
environment.systemPackages = with pkgs; [
inputs.xdg-desktop-portal-hyprland.packages."${pkgs.system}".xdg-desktop-portal-hyprland
inputs.hyprland.packages."${pkgs.system}".hyprland
electron_28
wlroots
kitty
rofi-wayland
dunst
libnotify
swww
sops
wl-clipboard
];
hardware = {
opengl.enable = true;
};
# Enable the X11 windowing system.
services.xserver.enable = true;
# Enable the GNOME Desktop Environment.
services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true;
# Enable CUPS to print documents.
services.printing.enable = true;
# Enable touchpad support (enabled default in most desktopManager).
# services.xserver.libinput.enable = true;
programs.zsh.enable = true;
# Define a user account. Don't forget to set a password with passwd.
services.flatpak.enable = true;
environment.pathsToLink = [ " /share/zsh " ];
services.tailscale = {
enable = true;
useRoutingFeatures = "client";
};
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
# programs.gnupg.agent = {
# enable = true;
# enableSSHSupport = true;
# };
# List services that you want to enable:
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
};
sops.secrets.lat = {
owner = config.users.users.guz.name;
};
sops.age.keyFile = "/home/guz/.config/sops/age/keys.txt";
programs.hyprland = {
enable = true;
xwayland.enable = true;
package = inputs.hyprland.packages."${pkgs.system}".hyprland;
portalPackage = inputs.xdg-desktop-portal-hyprland.packages."${pkgs.system}".xdg-desktop-portal-hyprland;
};
xdg.portal.enable = true;
xdg.portal.extraPortals = with pkgs; [
xdg-desktop-portal-gnome
];
environment.sessionVariables = {
WLR_NO_HARDWARE_CURSORS = "1";
NIXOS_OZONE_WL = "1";
};
environment.systemPackages = with pkgs; [
inputs.xdg-desktop-portal-hyprland.packages."${pkgs.system}".xdg-desktop-portal-hyprland
inputs.hyprland.packages."${pkgs.system}".hyprland
electron_28
wlroots
kitty
rofi-wayland
dunst
libnotify
swww
sops
wl-clipboard
];
hardware = {
opengl.enable = true;
};
# Enable the X11 windowing system.
services.xserver.enable = true;
# Enable the GNOME Desktop Environment.
services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true;
# Enable CUPS to print documents.
services.printing.enable = true;
# Enable touchpad support (enabled default in most desktopManager).
# services.xserver.libinput.enable = true;
programs.zsh.enable = true;
# Define a user account. Don't forget to set a password with passwd.
services.flatpak.enable = true;
environment.pathsToLink = [ " /share/zsh " ];
services.tailscale = {
enable = true;
useRoutingFeatures = "client";
};
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
# programs.gnupg.agent = {
# enable = true;
# enableSSHSupport = true;
# };
# List services that you want to enable:
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
}

View File

@@ -11,115 +11,113 @@
./keybinds.nix
./.desktop
];
options.shared.home = { };
config = {
programs.bash = {
enable = true;
initExtra = ''
export XDG_DATA_DIRS="$XDG_DATA_DIRS:/usr/share:/var/lib/flatpak/exports/share:$HOME/.local/share/flatpak/exports/share"
programs.bash = {
enable = true;
initExtra = ''
export XDG_DATA_DIRS="$XDG_DATA_DIRS:/usr/share:/var/lib/flatpak/exports/share:$HOME/.local/share/flatpak/exports/share"
export GPG_TTY=$(tty)
'';
};
export GPG_TTY=$(tty)
'';
};
services.gnome-keyring.enable = true;
services.gnome-keyring.enable = true;
programs.gpg.enable = true;
services.gpg-agent = {
enable = true;
pinentryFlavor = "gnome3";
};
programs.gpg.enable = true;
services.gpg-agent = {
enable = true;
pinentryFlavor = "gnome3";
};
librewolf = {
enable = true;
profiles = {
guz = {
id = 0;
settings = {
"webgl.disabled" = false;
"browser.startup.homepage" = "https://search.brave.com";
"privacy.clearOnShutdown.history" = false;
"privacy.clearOnShutdown.downloads" = false;
"extensions.activeThemeID" = "firefox-compact-dark@mozilla.org";
"privacy.clearOnShutdown.cookies" = false;
librewolf = {
enable = true;
profiles = {
guz = {
id = 0;
settings = {
"webgl.disabled" = false;
"browser.startup.homepage" = "https://search.brave.com";
"privacy.clearOnShutdown.history" = false;
"privacy.clearOnShutdown.downloads" = false;
"extensions.activeThemeID" = "firefox-compact-dark@mozilla.org";
"privacy.clearOnShutdown.cookies" = false;
};
extensions = with inputs.firefox-addons.packages."x86_64-linux"; [
darkreader
canvasblocker
smart-referer
libredirect
tridactyl
];
};
extensions = with inputs.firefox-addons.packages."x86_64-linux"; [
darkreader
canvasblocker
smart-referer
libredirect
tridactyl
];
};
};
};
services.flatpak.packages = [
"nz.mega.MEGAsync"
"md.obsidian.Obsidian"
"com.bitwarden.desktop"
"org.prismlauncher.PrismLauncher"
"org.mozilla.Thunderbird"
"net.blockbench.Blockbench"
];
# services.flatpak.overrides = { };
services.flatpak.packages = [
"nz.mega.MEGAsync"
"md.obsidian.Obsidian"
"com.bitwarden.desktop"
"org.prismlauncher.PrismLauncher"
"org.mozilla.Thunderbird"
"net.blockbench.Blockbench"
];
# services.flatpak.overrides = { };
nixpkgs.config.allowUnfree = true;
nixpkgs.config.allowUnfreePredicate = _: true;
home.packages = with pkgs; [
## Programs
webcord-vencord
gimp
inkscape
pureref
nixpkgs.config.allowUnfree = true;
nixpkgs.config.allowUnfreePredicate = _: true;
home.packages = with pkgs; [
## Programs
webcord-vencord
gimp
inkscape
pureref
# (pkgs.writeShellScriptBin "my-hello" ''
# echo "Hello, ${config.home.username}!"
# '')
# (pkgs.writeShellScriptBin "my-hello" ''
# echo "Hello, ${config.home.username}!"
# '')
## Fonts
fira-code
(nerdfonts.override { fonts = [ "FiraCode" ]; })
];
## Fonts
fira-code
(nerdfonts.override { fonts = [ "FiraCode" ]; })
];
fonts.fontconfig.enable = true;
fonts.fontconfig.enable = true;
# Home Manager is pretty good at managing dotfiles. The primary way to manage
# plain files is through 'home.file'.
home.file = {
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
# # the Nix store. Activating the configuration will then make '~/.screenrc' a
# # symlink to the Nix store copy.
# ".screenrc".source = dotfiles/screenrc;
# Home Manager is pretty good at managing dotfiles. The primary way to manage
# plain files is through 'home.file'.
home.file = {
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
# # the Nix store. Activating the configuration will then make '~/.screenrc' a
# # symlink to the Nix store copy.
# ".screenrc".source = dotfiles/screenrc;
# # You can also set the file content immediately.
# ".gradle/gradle.properties".text = ''
# org.gradle.console=verbose
# org.gradle.daemon.idletimeout=3600000
# '';
};
# # You can also set the file content immediately.
# ".gradle/gradle.properties".text = ''
# org.gradle.console=verbose
# org.gradle.daemon.idletimeout=3600000
# '';
};
# Home Manager can also manage your environment variables through
# 'home.sessionVariables'. If you don't want to manage your shell through Home
# Manager then you have to manually source 'hm-session-vars.sh' located at
# either
#
# ~/.nix-profile/etc/profile.d/hm-session-vars.sh
#
# or
#
# ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh
#
# or
#
# /etc/profiles/per-user/guz/etc/profile.d/hm-session-vars.sh
#
home.sessionVariables = {
# EDITOR = "emacs";
# Home Manager can also manage your environment variables through
# 'home.sessionVariables'. If you don't want to manage your shell through Home
# Manager then you have to manually source 'hm-session-vars.sh' located at
# either
#
# ~/.nix-profile/etc/profile.d/hm-session-vars.sh
#
# or
#
# ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh
#
# or
#
# /etc/profiles/per-user/guz/etc/profile.d/hm-session-vars.sh
#
home.sessionVariables = {
EDITOR = "neovim";
};
};
}

View File

@@ -1,15 +1,17 @@
{ config, pkgs, inputs, lib, ... }:
{ pkgs, ... }:
{
imports = [
../shared-configuration.nix
];
set-user.users = [
{
username = "guz";
shell = pkgs.zsh;
home = import ./home.nix;
}
];
options.work.configuration = { };
config = {
set-user.users = [
{
username = "guz";
shell = pkgs.zsh;
home = import ./home.nix;
}
];
};
}

View File

@@ -1,31 +1,32 @@
{ config, pkgs, inputs, ... }:
{ inputs, ... }:
{
imports = [
../shared-home.nix
];
theme.accent = "94e2d5";
wm.wallpaper = ../../../static/guz-wallpaper-work.png;
librewolf.profiles.work = {
isDefault = true;
id = 1;
settings = {
"webgl.disabled" = false;
"browser.startup.homepage" = "https://github.com";
"privacy.clearOnShutdown.history" = false;
"privacy.clearOnShutdown.downloads" = false;
"extensions.activeThemeID" = "firefox-compact-dark@mozilla.org";
"privacy.clearOnShutdown.cookies" = false;
options.work.home = { };
config = {
theme.accent = "94e2d5";
wm.wallpaper = ../../../static/guz-wallpaper-work.png;
librewolf.profiles.work = {
isDefault = true;
id = 1;
settings = {
"webgl.disabled" = false;
"browser.startup.homepage" = "https://github.com";
"privacy.clearOnShutdown.history" = false;
"privacy.clearOnShutdown.downloads" = false;
"extensions.activeThemeID" = "firefox-compact-dark@mozilla.org";
"privacy.clearOnShutdown.cookies" = false;
};
extensions = with inputs.firefox-addons.packages."x86_64-linux"; [
darkreader
canvasblocker
smart-referer
github-file-icons
libredirect
tridactyl
];
};
extensions = with inputs.firefox-addons.packages."x86_64-linux"; [
darkreader
canvasblocker
smart-referer
github-file-icons
libredirect
tridactyl
];
};
}