mirror of
https://github.com/librephoenix/nixos-config
synced 2025-01-19 07:05:51 +05:30
Optimized some specialArgs and module argument use
This commit is contained in:
parent
2d75530b6d
commit
18c8365f40
114
flake.nix
114
flake.nix
|
@ -1,39 +1,47 @@
|
||||||
{
|
{
|
||||||
description = "Flake of LibrePhoenix";
|
description = "Flake of LibrePhoenix";
|
||||||
|
|
||||||
outputs = { self, nixpkgs, home-manager, nix-doom-emacs, stylix, eaf, eaf-browser, org-nursery, org-yaap, org-timeblock, phscroll, blocklist-hosts, rust-overlay, hyprland-plugins, ... }@inputs:
|
outputs = { self, nixpkgs, home-manager, nix-doom-emacs, stylix,
|
||||||
|
blocklist-hosts, rust-overlay, hyprland-plugins,
|
||||||
|
eaf, eaf-browser, org-nursery, org-yaap,
|
||||||
|
org-side-tree, org-timeblock, phscroll, ... }@inputs:
|
||||||
let
|
let
|
||||||
# ---- SYSTEM SETTINGS ---- #
|
# ---- SYSTEM SETTINGS ---- #
|
||||||
system = "x86_64-linux"; # system arch
|
systemSettings = {
|
||||||
hostname = "snowfire"; # hostname
|
system = "x86_64-linux"; # system arch
|
||||||
profile = "personal"; # select a profile defined from my profiles directory
|
hostname = "snowfire"; # hostname
|
||||||
timezone = "America/Chicago"; # select timezone
|
profile = "personal"; # select a profile defined from my profiles directory
|
||||||
locale = "en_US.UTF-8"; # select locale
|
timezone = "America/Chicago"; # select timezone
|
||||||
|
locale = "en_US.UTF-8"; # select locale
|
||||||
|
};
|
||||||
|
|
||||||
# ----- USER SETTINGS ----- #
|
# ----- USER SETTINGS ----- #
|
||||||
username = "emmet"; # username
|
userSettings = rec {
|
||||||
name = "Emmet"; # name/identifier
|
username = "emmet"; # username
|
||||||
email = "emmet@librephoenix.com"; # email (used for certain configurations)
|
name = "Emmet"; # name/identifier
|
||||||
dotfilesDir = "~/.dotfiles"; # absolute path of the local repo
|
email = "emmet@librephoenix.com"; # email (used for certain configurations)
|
||||||
theme = "uwunicorn-yt"; # selcted theme from my themes directory (./themes/)
|
dotfilesDir = "~/.dotfiles"; # absolute path of the local repo
|
||||||
wm = "hyprland"; # Selected window manager or desktop environment; must select one in both ./user/wm/ and ./system/wm/
|
theme = "uwunicorn-yt"; # selcted theme from my themes directory (./themes/)
|
||||||
wmType = "wayland"; # x11 or wayland
|
wm = "hyprland"; # Selected window manager or desktop environment; must select one in both ./user/wm/ and ./system/wm/
|
||||||
browser = "qutebrowser"; # Default browser; must select one from ./user/app/browser/
|
# window manager type (hyprland or x11) translator
|
||||||
editor = "emacsclient"; # Default editor;
|
wmType = if (wm == "hyprland") then "wayland" else "x11";
|
||||||
defaultRoamDir = "Personal.p"; # Default org roam directory relative to ~/Org
|
browser = "qutebrowser"; # Default browser; must select one from ./user/app/browser/
|
||||||
term = "alacritty"; # Default terminal command;
|
defaultRoamDir = "Personal.p"; # Default org roam directory relative to ~/Org
|
||||||
font = "Intel One Mono"; # Selected font
|
term = "alacritty"; # Default terminal command;
|
||||||
fontPkg = pkgs.intel-one-mono; # Font package
|
font = "Intel One Mono"; # Selected font
|
||||||
|
fontPkg = pkgs.intel-one-mono; # Font package
|
||||||
|
editor = "emacsclient"; # Default editor;
|
||||||
|
# editor spawning translator
|
||||||
|
# generates a command that can be used to spawn editor inside a gui
|
||||||
|
# EDITOR and TERM session variables must be set in home.nix or other module
|
||||||
|
# I set the session variable SPAWNEDITOR to this in my home.nix for convenience
|
||||||
|
spawnEditor = if (editor == "emacsclient") then "emacsclient -c -a 'emacs'"
|
||||||
|
else (if ((editor == "vim") || (editor == "nvim") || (editor == "nano")) then "exec " + term + " -e " + editor else editor);
|
||||||
|
};
|
||||||
|
|
||||||
# editor spawning translator
|
|
||||||
# generates a command that can be used to spawn editor inside a gui
|
|
||||||
# EDITOR and TERM session variables must be set in home.nix or other module
|
|
||||||
# I set the session variable SPAWNEDITOR to this in my home.nix for convenience
|
|
||||||
spawnEditor = if (editor == "emacsclient") then "emacsclient -c -a 'emacs'"
|
|
||||||
else (if ((editor == "vim") || (editor == "nvim") || (editor == "nano")) then "exec " + term + " -e " + editor else editor);
|
|
||||||
|
|
||||||
# create patched nixpkgs
|
# create patched nixpkgs
|
||||||
nixpkgs-patched = (import nixpkgs { inherit system; }).applyPatches {
|
nixpkgs-patched = (import nixpkgs { system = systemSettings.system; }).applyPatches {
|
||||||
name = "nixpkgs-patched";
|
name = "nixpkgs-patched";
|
||||||
src = nixpkgs;
|
src = nixpkgs;
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -44,7 +52,7 @@
|
||||||
|
|
||||||
# configure pkgs
|
# configure pkgs
|
||||||
pkgs = import nixpkgs-patched {
|
pkgs = import nixpkgs-patched {
|
||||||
inherit system;
|
system = systemSettings.system;
|
||||||
config = { allowUnfree = true;
|
config = { allowUnfree = true;
|
||||||
allowUnfreePredicate = (_: true); };
|
allowUnfreePredicate = (_: true); };
|
||||||
overlays = [ rust-overlay.overlays.default ];
|
overlays = [ rust-overlay.overlays.default ];
|
||||||
|
@ -57,30 +65,14 @@
|
||||||
homeConfigurations = {
|
homeConfigurations = {
|
||||||
user = home-manager.lib.homeManagerConfiguration {
|
user = home-manager.lib.homeManagerConfiguration {
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
modules = [ (./. + "/profiles"+("/"+profile)+"/home.nix") # load home.nix from selected PROFILE
|
modules = [ (./. + "/profiles"+("/"+systemSettings.profile)+"/home.nix") # load home.nix from selected PROFILE
|
||||||
# inputs.nix-flatpak.homeManagerModules.nix-flatpak # Declarative flatpaks
|
# inputs.nix-flatpak.homeManagerModules.nix-flatpak # Declarative flatpaks
|
||||||
];
|
];
|
||||||
extraSpecialArgs = {
|
extraSpecialArgs = {
|
||||||
# pass config variables from above
|
# pass config variables from above
|
||||||
inherit username;
|
inherit systemSettings;
|
||||||
inherit name;
|
inherit userSettings;
|
||||||
inherit hostname;
|
|
||||||
inherit profile;
|
|
||||||
inherit email;
|
|
||||||
inherit dotfilesDir;
|
|
||||||
inherit defaultRoamDir;
|
|
||||||
inherit theme;
|
|
||||||
inherit font;
|
|
||||||
inherit fontPkg;
|
|
||||||
inherit wm;
|
|
||||||
inherit wmType;
|
|
||||||
inherit browser;
|
|
||||||
inherit editor;
|
|
||||||
inherit term;
|
|
||||||
inherit spawnEditor;
|
|
||||||
inherit (inputs) nix-doom-emacs;
|
inherit (inputs) nix-doom-emacs;
|
||||||
#inherit (inputs) nix-flatpak;
|
|
||||||
inherit (inputs) stylix;
|
|
||||||
inherit (inputs) eaf;
|
inherit (inputs) eaf;
|
||||||
inherit (inputs) eaf-browser;
|
inherit (inputs) eaf-browser;
|
||||||
inherit (inputs) org-nursery;
|
inherit (inputs) org-nursery;
|
||||||
|
@ -88,25 +80,20 @@
|
||||||
inherit (inputs) org-side-tree;
|
inherit (inputs) org-side-tree;
|
||||||
inherit (inputs) org-timeblock;
|
inherit (inputs) org-timeblock;
|
||||||
inherit (inputs) phscroll;
|
inherit (inputs) phscroll;
|
||||||
|
#inherit (inputs) nix-flatpak;
|
||||||
|
inherit (inputs) stylix;
|
||||||
inherit (inputs) hyprland-plugins;
|
inherit (inputs) hyprland-plugins;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
system = lib.nixosSystem {
|
system = lib.nixosSystem {
|
||||||
inherit system;
|
system = systemSettings.system;
|
||||||
modules = [ (./. + "/profiles"+("/"+profile)+"/configuration.nix") ]; # load configuration.nix from selected PROFILE
|
modules = [ (./. + "/profiles"+("/"+systemSettings.profile)+"/configuration.nix") ]; # load configuration.nix from selected PROFILE
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
# pass config variables from above
|
# pass config variables from above
|
||||||
inherit username;
|
inherit systemSettings;
|
||||||
inherit name;
|
inherit userSettings;
|
||||||
inherit hostname;
|
|
||||||
inherit timezone;
|
|
||||||
inherit locale;
|
|
||||||
inherit theme;
|
|
||||||
inherit font;
|
|
||||||
inherit fontPkg;
|
|
||||||
inherit wm;
|
|
||||||
inherit (inputs) stylix;
|
inherit (inputs) stylix;
|
||||||
inherit (inputs) blocklist-hosts;
|
inherit (inputs) blocklist-hosts;
|
||||||
};
|
};
|
||||||
|
@ -116,12 +103,11 @@
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "nixpkgs/nixos-unstable";
|
nixpkgs.url = "nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
home-manager.url = "github:nix-community/home-manager/master";
|
home-manager.url = "github:nix-community/home-manager/master";
|
||||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
nix-doom-emacs.url = "github:librephoenix/nix-doom-emacs?ref=pgtk-patch";
|
nix-doom-emacs.url = "github:librephoenix/nix-doom-emacs?ref=pgtk-patch";
|
||||||
stylix.url = "github:danth/stylix";
|
|
||||||
rust-overlay.url = "github:oxalica/rust-overlay";
|
|
||||||
#nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.2.0";
|
|
||||||
eaf = {
|
eaf = {
|
||||||
url = "github:emacs-eaf/emacs-application-framework";
|
url = "github:emacs-eaf/emacs-application-framework";
|
||||||
flake = false;
|
flake = false;
|
||||||
|
@ -150,10 +136,18 @@
|
||||||
url = "github:misohena/phscroll";
|
url = "github:misohena/phscroll";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
stylix.url = "github:danth/stylix";
|
||||||
|
|
||||||
|
rust-overlay.url = "github:oxalica/rust-overlay";
|
||||||
|
|
||||||
|
#nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.2.0";
|
||||||
|
|
||||||
blocklist-hosts = {
|
blocklist-hosts = {
|
||||||
url = "github:StevenBlack/hosts";
|
url = "github:StevenBlack/hosts";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
hyprland-plugins = {
|
hyprland-plugins = {
|
||||||
url = "github:hyprwm/hyprland-plugins";
|
url = "github:hyprwm/hyprland-plugins";
|
||||||
flake = false;
|
flake = false;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, blocklist-hosts, username, hostname, timezone, locale, ... }:
|
{ lib, pkgs, systemSettings, userSettings, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
|
@ -7,7 +7,7 @@
|
||||||
../../system/security/doas.nix
|
../../system/security/doas.nix
|
||||||
../../system/security/gpg.nix
|
../../system/security/gpg.nix
|
||||||
../../system/security/sshd.nix
|
../../system/security/sshd.nix
|
||||||
( import ../../system/app/docker.nix {storageDriver = "btrfs"; inherit username pkgs config lib;} )
|
( import ../../system/app/docker.nix {storageDriver = "btrfs"; inherit userSettings pkgs lib;} )
|
||||||
];
|
];
|
||||||
|
|
||||||
# Fix nix path
|
# Fix nix path
|
||||||
|
@ -34,28 +34,28 @@
|
||||||
boot.loader.efi.efiSysMountPoint = "/boot/efi";
|
boot.loader.efi.efiSysMountPoint = "/boot/efi";
|
||||||
|
|
||||||
# Networking
|
# Networking
|
||||||
networking.hostName = hostname; # Define your hostname.
|
networking.hostName = systemSettings.hostname; # Define your hostname.
|
||||||
networking.networkmanager.enable = true; # Use networkmanager
|
networking.networkmanager.enable = true; # Use networkmanager
|
||||||
|
|
||||||
# Timezone and locale
|
# Timezone and locale
|
||||||
time.timeZone = timezone; # time zone
|
time.timeZone = systemSettings.timezone; # time zone
|
||||||
i18n.defaultLocale = locale;
|
i18n.defaultLocale = systemSettings.locale;
|
||||||
i18n.extraLocaleSettings = {
|
i18n.extraLocaleSettings = {
|
||||||
LC_ADDRESS = locale;
|
LC_ADDRESS = systemSettings.locale;
|
||||||
LC_IDENTIFICATION = locale;
|
LC_IDENTIFICATION = systemSettings.locale;
|
||||||
LC_MEASUREMENT = locale;
|
LC_MEASUREMENT = systemSettings.locale;
|
||||||
LC_MONETARY = locale;
|
LC_MONETARY = systemSettings.locale;
|
||||||
LC_NAME = locale;
|
LC_NAME = systemSettings.locale;
|
||||||
LC_NUMERIC = locale;
|
LC_NUMERIC = systemSettings.locale;
|
||||||
LC_PAPER = locale;
|
LC_PAPER = systemSettings.locale;
|
||||||
LC_TELEPHONE = locale;
|
LC_TELEPHONE = systemSettings.locale;
|
||||||
LC_TIME = locale;
|
LC_TIME = systemSettings.locale;
|
||||||
};
|
};
|
||||||
|
|
||||||
# User account
|
# User account
|
||||||
users.users.${username} = {
|
users.users.${userSettings.username} = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "Emmet";
|
description = userSettings.name;
|
||||||
extraGroups = [ "networkmanager" "wheel" ];
|
extraGroups = [ "networkmanager" "wheel" ];
|
||||||
packages = with pkgs; [];
|
packages = with pkgs; [];
|
||||||
uid = 1000;
|
uid = 1000;
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
{ config, lib, pkgs, username, email, dotfilesDir, ... }:
|
{ pkgs, userSettings, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# Home Manager needs a bit of information about you and the paths it should
|
# Home Manager needs a bit of information about you and the paths it should
|
||||||
# manage.
|
# manage.
|
||||||
home.username = username;
|
home.username = userSettings.username;
|
||||||
home.homeDirectory = "/home/"+username;
|
home.homeDirectory = "/home/"+userSettings.username;
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
|
|
|
@ -2,13 +2,12 @@
|
||||||
# your system. Help is available in the configuration.nix(5) man page
|
# your system. Help is available in the configuration.nix(5) man page
|
||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||||
|
|
||||||
{ config, lib, pkgs, blocklist-hosts, username, name, hostname, timezone, locale, wm, theme, ... }:
|
{ ... }:
|
||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
[ ../work/configuration.nix # Personal is essentially work system + games
|
[ ../work/configuration.nix # Personal is essentially work system + games
|
||||||
../../system/hardware-configuration.nix
|
../../system/hardware-configuration.nix
|
||||||
#../../system/hardware/openrgb.nix
|
#../../system/hardware/openrgb.nix
|
||||||
( import ../../system/app/docker.nix {storageDriver = "btrfs"; inherit username pkgs config lib;} )
|
|
||||||
../../system/app/gamemode.nix
|
../../system/app/gamemode.nix
|
||||||
../../system/app/steam.nix
|
../../system/app/steam.nix
|
||||||
../../system/app/prismlauncher.nix
|
../../system/app/prismlauncher.nix
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
{ config, lib, pkgs, nix-doom-emacs, stylix, username, email, dotfilesDir, theme, wm, browser, editor, spawnEditor, term, ... }:
|
{ config, pkgs, userSettings, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# Home Manager needs a bit of information about you and the paths it should
|
# Home Manager needs a bit of information about you and the paths it should
|
||||||
# manage.
|
# manage.
|
||||||
home.username = username;
|
home.username = userSettings.username;
|
||||||
home.homeDirectory = "/home/"+username;
|
home.homeDirectory = "/home/"+userSettings.username;
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
# your system. Help is available in the configuration.nix(5) man page
|
# your system. Help is available in the configuration.nix(5) man page
|
||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||||
|
|
||||||
{ config, lib, pkgs, blocklist-hosts, username, name, hostname, timezone, locale, wm, theme, ... }:
|
{ pkgs, lib, systemSettings, userSettings, ... }:
|
||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
[ ../../system/hardware-configuration.nix
|
[ ../../system/hardware-configuration.nix
|
||||||
|
@ -16,6 +16,7 @@
|
||||||
(./. + "../../../system/wm"+("/"+wm)+".nix") # My window manager
|
(./. + "../../../system/wm"+("/"+wm)+".nix") # My window manager
|
||||||
../../system/app/flatpak.nix
|
../../system/app/flatpak.nix
|
||||||
../../system/app/virtualization.nix
|
../../system/app/virtualization.nix
|
||||||
|
( import ../../system/app/docker.nix {storageDriver = "btrfs"; inherit userSettings lib;} )
|
||||||
../../system/security/doas.nix
|
../../system/security/doas.nix
|
||||||
../../system/security/gpg.nix
|
../../system/security/gpg.nix
|
||||||
../../system/security/blocklist.nix
|
../../system/security/blocklist.nix
|
||||||
|
@ -50,28 +51,28 @@
|
||||||
boot.loader.efi.efiSysMountPoint = "/boot/efi";
|
boot.loader.efi.efiSysMountPoint = "/boot/efi";
|
||||||
|
|
||||||
# Networking
|
# Networking
|
||||||
networking.hostName = hostname; # Define your hostname.
|
networking.hostName = systemSettings.hostname; # Define your hostname.
|
||||||
networking.networkmanager.enable = true; # Use networkmanager
|
networking.networkmanager.enable = true; # Use networkmanager
|
||||||
|
|
||||||
# Timezone and locale
|
# Timezone and locale
|
||||||
time.timeZone = timezone; # time zone
|
time.timeZone = systemSettings.timezone; # time zone
|
||||||
i18n.defaultLocale = locale;
|
i18n.defaultLocale = systemSettings.locale;
|
||||||
i18n.extraLocaleSettings = {
|
i18n.extraLocaleSettings = {
|
||||||
LC_ADDRESS = locale;
|
LC_ADDRESS = systemSettings.locale;
|
||||||
LC_IDENTIFICATION = locale;
|
LC_IDENTIFICATION = systemSettings.locale;
|
||||||
LC_MEASUREMENT = locale;
|
LC_MEASUREMENT = systemSettings.locale;
|
||||||
LC_MONETARY = locale;
|
LC_MONETARY = systemSettings.locale;
|
||||||
LC_NAME = locale;
|
LC_NAME = systemSettings.locale;
|
||||||
LC_NUMERIC = locale;
|
LC_NUMERIC = systemSettings.locale;
|
||||||
LC_PAPER = locale;
|
LC_PAPER = systemSettings.locale;
|
||||||
LC_TELEPHONE = locale;
|
LC_TELEPHONE = systemSettings.locale;
|
||||||
LC_TIME = locale;
|
LC_TIME = systemSettings.locale;
|
||||||
};
|
};
|
||||||
|
|
||||||
# User account
|
# User account
|
||||||
users.users.${username} = {
|
users.users.${userSettings.username} = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = name;
|
description = userSettings.name;
|
||||||
extraGroups = [ "networkmanager" "wheel" ];
|
extraGroups = [ "networkmanager" "wheel" ];
|
||||||
packages = with pkgs; [];
|
packages = with pkgs; [];
|
||||||
uid = 1000;
|
uid = 1000;
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
{ config, lib, pkgs, stdenv, fetchurl, nix-doom-emacs, stylix, username, email, dotfilesDir, theme, wm, browser, editor, spawnEditor, term, ... }:
|
{ config, pkgs, nix-doom-emacs, stylix, userSettings, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# Home Manager needs a bit of information about you and the paths it should
|
# Home Manager needs a bit of information about you and the paths it should
|
||||||
# manage.
|
# manage.
|
||||||
home.username = username;
|
home.username = userSettings.username;
|
||||||
home.homeDirectory = "/home/"+username;
|
home.homeDirectory = "/home/"+userSettings.username;
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
nix-doom-emacs.hmModule
|
(if ((userSettings.editor == "emacs") || (userSettings.editor == "emacsclient")) then nix-doom-emacs.hmModule else null)
|
||||||
stylix.homeManagerModules.stylix
|
stylix.homeManagerModules.stylix
|
||||||
(./. + "../../../user/wm"+("/"+wm+"/"+wm)+".nix") # My window manager selected from flake
|
(./. + "../../../user/wm"+("/"+userSettings.wm+"/"+userSettings.wm)+".nix") # My window manager selected from flake
|
||||||
../../user/shell/sh.nix # My zsh and bash config
|
../../user/shell/sh.nix # My zsh and bash config
|
||||||
../../user/shell/cli-collection.nix # Useful CLI apps
|
../../user/shell/cli-collection.nix # Useful CLI apps
|
||||||
../../user/bin/phoenix.nix # My nix command wrapper
|
../../user/bin/phoenix.nix # My nix command wrapper
|
||||||
|
@ -19,13 +19,13 @@
|
||||||
../../user/app/ranger/ranger.nix # My ranger file manager config
|
../../user/app/ranger/ranger.nix # My ranger file manager config
|
||||||
../../user/app/git/git.nix # My git config
|
../../user/app/git/git.nix # My git config
|
||||||
../../user/app/keepass/keepass.nix # My password manager
|
../../user/app/keepass/keepass.nix # My password manager
|
||||||
(./. + "../../../user/app/browser"+("/"+browser)+".nix") # My default browser selected from flake
|
(./. + "../../../user/app/browser"+("/"+userSettings.browser)+".nix") # My default browser selected from flake
|
||||||
../../user/app/virtualization/virtualization.nix # Virtual machines
|
../../user/app/virtualization/virtualization.nix # Virtual machines
|
||||||
../../user/app/flatpak/flatpak.nix # Flatpaks
|
../../user/app/flatpak/flatpak.nix # Flatpaks
|
||||||
../../user/style/stylix.nix # Styling and themes for my apps
|
../../user/style/stylix.nix # Styling and themes for my apps
|
||||||
../../user/lang/cc/cc.nix # C and C++ tools
|
../../user/lang/cc/cc.nix # C and C++ tools
|
||||||
../../user/lang/godot/godot.nix # Game development
|
../../user/lang/godot/godot.nix # Game development
|
||||||
../../user/pkgs/blockbench.nix # Blockbench
|
#../../user/pkgs/blockbench.nix # Blockbench ## marked as insecure
|
||||||
../../user/hardware/bluetooth.nix # Bluetooth
|
../../user/hardware/bluetooth.nix # Bluetooth
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -146,10 +146,10 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
EDITOR = editor;
|
EDITOR = userSettings.editor;
|
||||||
SPAWNEDITOR = spawnEditor;
|
SPAWNEDITOR = userSettings.spawnEditor;
|
||||||
TERM = term;
|
TERM = userSettings.term;
|
||||||
BROWSER = browser;
|
BROWSER = userSettings.browser;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
# your system. Help is available in the configuration.nix(5) man page
|
# your system. Help is available in the configuration.nix(5) man page
|
||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||||
|
|
||||||
{ config, lib, pkgs, blocklist-hosts, username, name, hostname, timezone, locale, wm, theme, ... }:
|
{ lib, pkgs, systemSettings, userSettings, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
|
@ -28,7 +28,7 @@ in
|
||||||
wsl = {
|
wsl = {
|
||||||
enable = true;
|
enable = true;
|
||||||
automountPath = "/mnt";
|
automountPath = "/mnt";
|
||||||
defaultUser = username;
|
defaultUser = userSettings.username;
|
||||||
startMenuLaunchers = true;
|
startMenuLaunchers = true;
|
||||||
|
|
||||||
# Enable native Docker support
|
# Enable native Docker support
|
||||||
|
@ -61,27 +61,27 @@ in
|
||||||
boot.kernelModules = [ "i2c-dev" "i2c-piix4" "cpufreq_powersave" ];
|
boot.kernelModules = [ "i2c-dev" "i2c-piix4" "cpufreq_powersave" ];
|
||||||
|
|
||||||
# Networking
|
# Networking
|
||||||
networking.hostName = hostname; # Define your hostname.
|
networking.hostName = systemSettings.hostname; # Define your hostname.
|
||||||
|
|
||||||
# Timezone and locale
|
# Timezone and locale
|
||||||
time.timeZone = timezone; # time zone
|
time.timeZone = systemSettings.timezone; # time zone
|
||||||
i18n.defaultLocale = locale;
|
i18n.defaultLocale = systemSettings.locale;
|
||||||
i18n.extraLocaleSettings = {
|
i18n.extraLocaleSettings = {
|
||||||
LC_ADDRESS = locale;
|
LC_ADDRESS = systemSettings.locale;
|
||||||
LC_IDENTIFICATION = locale;
|
LC_IDENTIFICATION = systemSettings.locale;
|
||||||
LC_MEASUREMENT = locale;
|
LC_MEASUREMENT = systemSettings.locale;
|
||||||
LC_MONETARY = locale;
|
LC_MONETARY = systemSettings.locale;
|
||||||
LC_NAME = locale;
|
LC_NAME = systemSettings.locale;
|
||||||
LC_NUMERIC = locale;
|
LC_NUMERIC = systemSettings.locale;
|
||||||
LC_PAPER = locale;
|
LC_PAPER = systemSettings.locale;
|
||||||
LC_TELEPHONE = locale;
|
LC_TELEPHONE = systemSettings.locale;
|
||||||
LC_TIME = locale;
|
LC_TIME = systemSettings.locale;
|
||||||
};
|
};
|
||||||
|
|
||||||
# User account
|
# User account
|
||||||
users.users.${username} = {
|
users.users.${userSettings.username} = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = name;
|
description = userSettings.name;
|
||||||
extraGroups = [ "networkmanager" "wheel" ];
|
extraGroups = [ "networkmanager" "wheel" ];
|
||||||
packages = with pkgs; [];
|
packages = with pkgs; [];
|
||||||
uid = 1000;
|
uid = 1000;
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
{ config, lib, pkgs, stdenv, fetchurl, nix-doom-emacs, stylix, username, email, dotfilesDir, theme, wm, editor, ... }:
|
{ config, pkgs, nix-doom-emacs, stylix, userSettings, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# Home Manager needs a bit of information about you and the paths it should
|
# Home Manager needs a bit of information about you and the paths it should
|
||||||
# manage.
|
# manage.
|
||||||
home.username = username;
|
home.username = userSettings.username;
|
||||||
home.homeDirectory = "/home/"+username;
|
home.homeDirectory = "/home/"+userSettings.username;
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
nix-doom-emacs.hmModule
|
(if ((userSettings.editor == "emacs") || (userSettings.editor == "emacsclient")) then nix-doom-emacs.hmModule else null)
|
||||||
stylix.homeManagerModules.stylix
|
stylix.homeManagerModules.stylix
|
||||||
../../user/shell/sh.nix # My zsh and bash config
|
../../user/shell/sh.nix # My zsh and bash config
|
||||||
../../user/shell/cli-collection.nix # Useful CLI apps
|
../../user/shell/cli-collection.nix # Useful CLI apps
|
||||||
|
@ -63,7 +63,7 @@
|
||||||
xdg.mimeApps.enable = true;
|
xdg.mimeApps.enable = true;
|
||||||
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
EDITOR = editor;
|
EDITOR = userSettings.editor;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, username, storageDriver ? null, ... }:
|
{ lib, userSettings, storageDriver ? null, ... }:
|
||||||
|
|
||||||
assert lib.asserts.assertOneOf "storageDriver" storageDriver [
|
assert lib.asserts.assertOneOf "storageDriver" storageDriver [
|
||||||
null
|
null
|
||||||
|
@ -17,5 +17,5 @@ assert lib.asserts.assertOneOf "storageDriver" storageDriver [
|
||||||
storageDriver = storageDriver;
|
storageDriver = storageDriver;
|
||||||
autoPrune.enable = true;
|
autoPrune.enable = true;
|
||||||
};
|
};
|
||||||
users.users.${username}.extraGroups = [ "docker" ];
|
users.users.${userSettings.username}.extraGroups = [ "docker" ];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, ... }:
|
{ ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# Need some flatpaks
|
# Need some flatpaks
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# Feral GameMode
|
# Feral GameMode
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
environment.systemPackages = [ pkgs.prismlauncher ];
|
environment.systemPackages = [ pkgs.prismlauncher ];
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
hardware.opengl.driSupport32Bit = true;
|
hardware.opengl.driSupport32Bit = true;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
environment.systemPackages = with pkgs; [ virt-manager virtualbox distrobox ];
|
environment.systemPackages = with pkgs; [ virt-manager virtualbox distrobox ];
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, ... }:
|
{ ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# Bluetooth
|
# Bluetooth
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
boot.kernelPackages = pkgs.linuxPackages_zen;
|
boot.kernelPackages = pkgs.linuxPackages_zen;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, ... }:
|
{ ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# OpenGL
|
# OpenGL
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
environment.systemPackages = [ pkgs.openrgb-with-all-plugins ];
|
environment.systemPackages = [ pkgs.openrgb-with-all-plugins ];
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, ... }:
|
{ ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
#services.auto-cpufreq.enable = true;
|
#services.auto-cpufreq.enable = true;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# Enable printing
|
# Enable printing
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, ... }:
|
{ ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
services.journald.extraConfig = "SystemMaxUse=50M\nSystemMaxFiles=5";
|
services.journald.extraConfig = "SystemMaxUse=50M\nSystemMaxFiles=5";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
services.timesyncd.enable = true;
|
services.timesyncd.enable = true;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
services.devmon.enable = true;
|
services.devmon.enable = true;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, blocklist-hosts, pkgs, ... }:
|
{ blocklist-hosts, ... }:
|
||||||
|
|
||||||
let blocklist = builtins.readFile "${blocklist-hosts}/alternates/gambling-porn/hosts";
|
let blocklist = builtins.readFile "${blocklist-hosts}/alternates/gambling-porn/hosts";
|
||||||
in
|
in
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
{ config, username, pkgs, ... }:
|
{ userSettings, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# Doas instead of sudo
|
# Doas instead of sudo
|
||||||
security.doas.enable = true;
|
security.doas.enable = true;
|
||||||
security.sudo.enable = false;
|
security.sudo.enable = false;
|
||||||
security.doas.extraRules = [{
|
security.doas.extraRules = [{
|
||||||
users = [ "${username}" ];
|
users = [ "${userSettings.username}" ];
|
||||||
keepEnv = true;
|
keepEnv = true;
|
||||||
persist = true;
|
persist = true;
|
||||||
}];
|
}];
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
environment.systemPackages = with pkgs; [ firejail ];
|
environment.systemPackages = with pkgs; [ firejail ];
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, ... }:
|
{ ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# Firewall
|
# Firewall
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, ... }:
|
{ ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# Some programs need SUID wrappers, can be configured further or are
|
# Some programs need SUID wrappers, can be configured further or are
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
environment.systemPackages = [ pkgs.openvpn ];
|
environment.systemPackages = [ pkgs.openvpn ];
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, username, ... }:
|
{ userSettings, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# Enable incoming ssh
|
# Enable incoming ssh
|
||||||
|
@ -10,7 +10,7 @@
|
||||||
PermitRootLogin = "no";
|
PermitRootLogin = "no";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
users.users.${username}.openssh.authorizedKeys.keys = [
|
users.users.${userSettings.username}.openssh.authorizedKeys.keys = [
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDaeejVJwUVrIZSo1isbu+gkQ7+8ftCgCsczy3OclkEVWHyRTqlG6yp74hr3j8ZNsOhov7c2Q6RqC8oy669hlxi/y9BsvtlI7sBr94oAKFOmkCS4RiK72ngJjBvI0vbk89wQQjmAd3r8B7ZcedpNOC8CkHu8SebKdYPRIUvAbPc3fTEt7DsJkazAepZCB8LEhUp57FAqQ/Ezlt3X/1uwNq5S0EbE9Zm+nUpEfSqR9apY2neKWLyGiCxpK3dzyNOuulCxvtVz+ie2sTk/6SxM+qWEoVVxhdwyxPihEjgC0EvtG0S5mVh5JmcjRkJOzzBHJuw+6r8yWn/AxGdIsoJ4rKNxH1XH1iLHgCraOLOUjUNlmejTcQPu6o92a79fdz2gCHT/BuIjfCW7MErAC3YSmF45TSur/kiWCBaTqYo06pgbQ3w1vKg7fievQlQzsutmg47RvJp6fb74yxuOdVg39cShQu/l8r6zqm21JAeUaaIp4P/0MrAIMOOVUhbK0QgsNElO4yn0ZKH8wGIF8xORh7ikxUIAyq8C41gjJiO2sAFJc3M8DhduQU3X0lHB7U0Qyu+8ZXn05+zdFPXJ73LKc7DCcLkppRXJsdHLSDEFdWqFnV7o08B4qZkPMT4pmvhwhY0Pf1fwavOqxuTstzw18gUGyQzl0foQi0Qrmdazsp2Qw== emmet@snowfire"
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDaeejVJwUVrIZSo1isbu+gkQ7+8ftCgCsczy3OclkEVWHyRTqlG6yp74hr3j8ZNsOhov7c2Q6RqC8oy669hlxi/y9BsvtlI7sBr94oAKFOmkCS4RiK72ngJjBvI0vbk89wQQjmAd3r8B7ZcedpNOC8CkHu8SebKdYPRIUvAbPc3fTEt7DsJkazAepZCB8LEhUp57FAqQ/Ezlt3X/1uwNq5S0EbE9Zm+nUpEfSqR9apY2neKWLyGiCxpK3dzyNOuulCxvtVz+ie2sTk/6SxM+qWEoVVxhdwyxPihEjgC0EvtG0S5mVh5JmcjRkJOzzBHJuw+6r8yWn/AxGdIsoJ4rKNxH1XH1iLHgCraOLOUjUNlmejTcQPu6o92a79fdz2gCHT/BuIjfCW7MErAC3YSmF45TSur/kiWCBaTqYo06pgbQ3w1vKg7fievQlQzsutmg47RvJp6fb74yxuOdVg39cShQu/l8r6zqm21JAeUaaIp4P/0MrAIMOOVUhbK0QgsNElO4yn0ZKH8wGIF8xORh7ikxUIAyq8C41gjJiO2sAFJc3M8DhduQU3X0lHB7U0Qyu+8ZXn05+zdFPXJ73LKc7DCcLkppRXJsdHLSDEFdWqFnV7o08B4qZkPMT4pmvhwhY0Pf1fwavOqxuTstzw18gUGyQzl0foQi0Qrmdazsp2Qw== emmet@snowfire"
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
{ config, lib, pkgs, stylix, theme, font, fontPkg, ... }:
|
{ lib, pkgs, stylix, userSettings, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
themePath = "../../../themes/"+theme+"/"+theme+".yaml";
|
themePath = "../../../themes/"+userSettings.theme+"/"+userSettings.theme+".yaml";
|
||||||
themePolarity = lib.removeSuffix "\n" (builtins.readFile (./. + "../../../themes"+("/"+theme)+"/polarity.txt"));
|
themePolarity = lib.removeSuffix "\n" (builtins.readFile (./. + "../../../themes"+("/"+userSettings.theme)+"/polarity.txt"));
|
||||||
myLightDMTheme = if themePolarity == "light" then "Adwaita" else "Adwaita-dark";
|
myLightDMTheme = if themePolarity == "light" then "Adwaita" else "Adwaita-dark";
|
||||||
backgroundUrl = builtins.readFile (./. + "../../../themes"+("/"+theme)+"/backgroundurl.txt");
|
backgroundUrl = builtins.readFile (./. + "../../../themes"+("/"+userSettings.theme)+"/backgroundurl.txt");
|
||||||
backgroundSha256 = builtins.readFile (./. + "../../../themes/"+("/"+theme)+"/backgroundsha256.txt");
|
backgroundSha256 = builtins.readFile (./. + "../../../themes/"+("/"+userSettings.theme)+"/backgroundsha256.txt");
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [ stylix.nixosModules.stylix ];
|
imports = [ stylix.nixosModules.stylix ];
|
||||||
|
@ -19,16 +19,16 @@ in
|
||||||
stylix.base16Scheme = ./. + themePath;
|
stylix.base16Scheme = ./. + themePath;
|
||||||
stylix.fonts = {
|
stylix.fonts = {
|
||||||
monospace = {
|
monospace = {
|
||||||
name = font;
|
name = userSettings.font;
|
||||||
package = fontPkg;
|
package = userSettings.fontPkg;
|
||||||
};
|
};
|
||||||
serif = {
|
serif = {
|
||||||
name = font;
|
name = userSettings.font;
|
||||||
package = fontPkg;
|
package = userSettings.fontPkg;
|
||||||
};
|
};
|
||||||
sansSerif = {
|
sansSerif = {
|
||||||
name = font;
|
name = userSettings.font;
|
||||||
package = fontPkg;
|
package = userSettings.fontPkg;
|
||||||
};
|
};
|
||||||
emoji = {
|
emoji = {
|
||||||
name = "Noto Color Emoji";
|
name = "Noto Color Emoji";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
services.dbus = {
|
services.dbus = {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# Fonts are nice to have
|
# Fonts are nice to have
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, ... }:
|
{ ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
services.gnome = {
|
services.gnome = {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# Import wayland config
|
# Import wayland config
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, ... }:
|
{ ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# Pipewire
|
# Pipewire
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [ ./pipewire.nix
|
imports = [ ./pipewire.nix
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [ ./pipewire.nix
|
imports = [ ./pipewire.nix
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, ... }:
|
{ ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# import X11 config
|
# import X11 config
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# Module installing brave as default browser
|
# Module installing brave as default browser
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, wmType, font, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# Module installing as default browser
|
# Module installing as default browser
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
{ config, lib, pkgs, wmType, font, ... }:
|
{ pkgs, userSettings, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# Module installing librewolf as default browser
|
# Module installing librewolf as default browser
|
||||||
home.packages = if (wmType == "wayland") then [ pkgs.librewolf-wayland ]
|
home.packages = if (userSettings.wmType == "wayland") then [ pkgs.librewolf-wayland ]
|
||||||
else [ pkgs.librewolf ];
|
else [ pkgs.librewolf ];
|
||||||
|
|
||||||
home.sessionVariables = if (wmType == "wayland")
|
home.sessionVariables = if (userSettings.wmType == "wayland")
|
||||||
then { DEFAULT_BROWSER = "${pkgs.librewolf-wayland}/bin/librewolf";}
|
then { DEFAULT_BROWSER = "${pkgs.librewolf-wayland}/bin/librewolf";}
|
||||||
else
|
else
|
||||||
{ DEFAULT_BROWSER = "${pkgs.librewolf}/bin/librewolf";};
|
{ DEFAULT_BROWSER = "${pkgs.librewolf}/bin/librewolf";};
|
||||||
|
|
||||||
home.file.".librewolf/librewolf.overrides.cfg".text = ''
|
home.file.".librewolf/librewolf.overrides.cfg".text = ''
|
||||||
defaultPref("font.name.serif.x-western","''+font+''");
|
defaultPref("font.name.serif.x-western","''+userSettings.font+''");
|
||||||
|
|
||||||
defaultPref("font.size.variable.x-western",20);
|
defaultPref("font.size.variable.x-western",20);
|
||||||
defaultPref("browser.toolbars.bookmarks.visibility","always");
|
defaultPref("browser.toolbars.bookmarks.visibility","always");
|
||||||
|
@ -22,7 +22,7 @@
|
||||||
defaultPref("privacy.clearOnShutdown.cookies",true);
|
defaultPref("privacy.clearOnShutdown.cookies",true);
|
||||||
defaultPref("gfx.webrender.software.opengl",false);
|
defaultPref("gfx.webrender.software.opengl",false);
|
||||||
defaultPref("webgl.disabled",true);
|
defaultPref("webgl.disabled",true);
|
||||||
pref("font.name.serif.x-western","''+font+''");
|
pref("font.name.serif.x-western","''+userSettings.font+''");
|
||||||
|
|
||||||
pref("font.size.variable.x-western",20);
|
pref("font.size.variable.x-western",20);
|
||||||
pref("browser.toolbars.bookmarks.visibility","always");
|
pref("browser.toolbars.bookmarks.visibility","always");
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, pkgs, dmenuCmd ? "rofi -dmenu", ... }:
|
{ lib, stdenv, fetchFromGitHub, dmenuCmd ? "rofi -dmenu", ... }:
|
||||||
|
|
||||||
let name = "qute-containers";
|
let name = "qute-containers";
|
||||||
version = "unstable";
|
version = "unstable";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, font, qute-containers, ... }:
|
{ config, pkgs, userSettings, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -194,7 +194,7 @@ c.colors.tabs.selected.even.fg = base05
|
||||||
c.colors.tabs.selected.even.bg = base02
|
c.colors.tabs.selected.even.bg = base02
|
||||||
c.colors.webpage.bg = base00
|
c.colors.webpage.bg = base00
|
||||||
|
|
||||||
font = "''+font+''"
|
font = "''+userSettings.font+''"
|
||||||
|
|
||||||
c.fonts.default_family = font
|
c.fonts.default_family = font
|
||||||
c.fonts.default_size = '14pt'
|
c.fonts.default_size = '14pt'
|
||||||
|
@ -222,7 +222,7 @@ c.fonts.web.family.cursive = font
|
||||||
}
|
}
|
||||||
/*paragraphs*/
|
/*paragraphs*/
|
||||||
p {
|
p {
|
||||||
font-family:''+font+'';
|
font-family:''+userSettings.font+'';
|
||||||
|
|
||||||
font-size:24px;
|
font-size:24px;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
|
@ -255,7 +255,7 @@ c.fonts.web.family.cursive = font
|
||||||
|
|
||||||
/*xmp tag style for ascii art*/
|
/*xmp tag style for ascii art*/
|
||||||
xmp {
|
xmp {
|
||||||
font-family:''+font+'';
|
font-family:''+userSettings.font+'';
|
||||||
|
|
||||||
font-size:22px;
|
font-size:22px;
|
||||||
color: #''+config.lib.stylix.colors.base01+''
|
color: #''+config.lib.stylix.colors.base01+''
|
||||||
|
@ -340,7 +340,7 @@ Bard
|
||||||
}
|
}
|
||||||
/*paragraphs*/
|
/*paragraphs*/
|
||||||
p {
|
p {
|
||||||
font-family:''+font+'';
|
font-family:''+userSettings.font+'';
|
||||||
|
|
||||||
font-size:24px;
|
font-size:24px;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
|
@ -373,7 +373,7 @@ Bard
|
||||||
|
|
||||||
/*xmp tag style for ascii art*/
|
/*xmp tag style for ascii art*/
|
||||||
xmp {
|
xmp {
|
||||||
font-family:''+font+'';
|
font-family:''+userSettings.font+'';
|
||||||
|
|
||||||
font-size:22px;
|
font-size:22px;
|
||||||
color: #''+config.lib.stylix.colors.base01+''
|
color: #''+config.lib.stylix.colors.base01+''
|
||||||
|
@ -447,7 +447,7 @@ Bard
|
||||||
}
|
}
|
||||||
/*paragraphs*/
|
/*paragraphs*/
|
||||||
p {
|
p {
|
||||||
font-family:''+font+'';
|
font-family:''+userSettings.font+'';
|
||||||
|
|
||||||
font-size:24px;
|
font-size:24px;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
|
@ -480,7 +480,7 @@ Bard
|
||||||
|
|
||||||
/*xmp tag style for ascii art*/
|
/*xmp tag style for ascii art*/
|
||||||
xmp {
|
xmp {
|
||||||
font-family:''+font+'';
|
font-family:''+userSettings.font+'';
|
||||||
|
|
||||||
font-size:22px;
|
font-size:22px;
|
||||||
color: #''+config.lib.stylix.colors.base01+''
|
color: #''+config.lib.stylix.colors.base01+''
|
||||||
|
@ -554,7 +554,7 @@ Bard
|
||||||
}
|
}
|
||||||
/*paragraphs*/
|
/*paragraphs*/
|
||||||
p {
|
p {
|
||||||
font-family:''+font+'';
|
font-family:''+userSettings.font+'';
|
||||||
|
|
||||||
font-size:24px;
|
font-size:24px;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
|
@ -587,7 +587,7 @@ Bard
|
||||||
|
|
||||||
/*xmp tag style for ascii art*/
|
/*xmp tag style for ascii art*/
|
||||||
xmp {
|
xmp {
|
||||||
font-family:''+font+'';
|
font-family:''+userSettings.font+'';
|
||||||
|
|
||||||
font-size:22px;
|
font-size:22px;
|
||||||
color: #''+config.lib.stylix.colors.base01+''
|
color: #''+config.lib.stylix.colors.base01+''
|
||||||
|
@ -661,7 +661,7 @@ Bard
|
||||||
}
|
}
|
||||||
/*paragraphs*/
|
/*paragraphs*/
|
||||||
p {
|
p {
|
||||||
font-family:''+font+'';
|
font-family:''+userSettings.font+'';
|
||||||
|
|
||||||
font-size:24px;
|
font-size:24px;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
|
@ -694,7 +694,7 @@ Bard
|
||||||
|
|
||||||
/*xmp tag style for ascii art*/
|
/*xmp tag style for ascii art*/
|
||||||
xmp {
|
xmp {
|
||||||
font-family:''+font+'';
|
font-family:''+userSettings.font+'';
|
||||||
|
|
||||||
font-size:22px;
|
font-size:22px;
|
||||||
color: #''+config.lib.stylix.colors.base01+''
|
color: #''+config.lib.stylix.colors.base01+''
|
||||||
|
@ -768,7 +768,7 @@ Bard
|
||||||
}
|
}
|
||||||
/*paragraphs*/
|
/*paragraphs*/
|
||||||
p {
|
p {
|
||||||
font-family:''+font+'';
|
font-family:''+userSettings.font+'';
|
||||||
|
|
||||||
font-size:24px;
|
font-size:24px;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
|
@ -801,7 +801,7 @@ Bard
|
||||||
|
|
||||||
/*xmp tag style for ascii art*/
|
/*xmp tag style for ascii art*/
|
||||||
xmp {
|
xmp {
|
||||||
font-family:''+font+'';
|
font-family:''+userSettings.font+'';
|
||||||
|
|
||||||
font-size:22px;
|
font-size:22px;
|
||||||
color: #''+config.lib.stylix.colors.base01+''
|
color: #''+config.lib.stylix.colors.base01+''
|
||||||
|
@ -875,7 +875,7 @@ Bard
|
||||||
}
|
}
|
||||||
/*paragraphs*/
|
/*paragraphs*/
|
||||||
p {
|
p {
|
||||||
font-family:''+font+'';
|
font-family:''+userSettings.font+'';
|
||||||
|
|
||||||
font-size:24px;
|
font-size:24px;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
|
@ -908,7 +908,7 @@ Bard
|
||||||
|
|
||||||
/*xmp tag style for ascii art*/
|
/*xmp tag style for ascii art*/
|
||||||
xmp {
|
xmp {
|
||||||
font-family:''+font+'';
|
font-family:''+userSettings.font+'';
|
||||||
|
|
||||||
font-size:22px;
|
font-size:22px;
|
||||||
color: #''+config.lib.stylix.colors.base01+''
|
color: #''+config.lib.stylix.colors.base01+''
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, dmenu_command ? "rofi -show dmenu", ... }:
|
{ pkgs, dmenu_command ? "rofi -show dmenu", ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [ networkmanager_dmenu networkmanagerapplet ];
|
home.packages = with pkgs; [ networkmanager_dmenu networkmanagerapplet ];
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
{ config, lib, pkgs, eaf, eaf-browser, org-nursery, phscroll, org-yaap, org-side-tree, org-timeblock, theme, font, name, username, email, dotfilesDir, profile, wmType, defaultRoamDir, ... }:
|
{ config, lib, pkgs, userSettings, systemSettings,
|
||||||
|
eaf, eaf-browser, org-nursery, org-yaap,
|
||||||
|
org-side-tree, org-timeblock, phscroll, ... }:
|
||||||
let
|
let
|
||||||
themePolarity = lib.removeSuffix "\n" (builtins.readFile (./. + "../../../../themes"+("/"+theme)+"/polarity.txt"));
|
themePolarity = lib.removeSuffix "\n" (builtins.readFile (./. + "../../../../themes"+("/"+userSettings.theme)+"/polarity.txt"));
|
||||||
dashboardLogo = ./. + "/nix-" + themePolarity + ".png";
|
dashboardLogo = ./. + "/nix-" + themePolarity + ".png";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
@ -139,14 +141,14 @@ in
|
||||||
|
|
||||||
;; Import relevant variables from flake into emacs
|
;; Import relevant variables from flake into emacs
|
||||||
|
|
||||||
(setq user-full-name "''+name+''") ; name
|
(setq user-full-name "''+userSettings.name+''") ; name
|
||||||
(setq user-username "''+username+''") ; username
|
(setq user-username "''+userSettings.username+''") ; username
|
||||||
(setq user-mail-address "''+email+''") ; email
|
(setq user-mail-address "''+userSettings.email+''") ; email
|
||||||
(setq user-home-directory "/home/''+username+''") ; absolute path to home directory as string
|
(setq user-home-directory "/home/''+userSettings.username+''") ; absolute path to home directory as string
|
||||||
(setq user-default-roam-dir "''+defaultRoamDir+''") ; absolute path to home directory as string
|
(setq user-default-roam-dir "''+userSettings.defaultRoamDir+''") ; absolute path to home directory as string
|
||||||
(setq system-nix-profile "''+profile+''") ; what profile am I using?
|
(setq system-nix-profile "''+systemSettings.profile+''") ; what profile am I using?
|
||||||
(setq system-wm-type "''+wmType+''") ; wayland or x11?
|
(setq system-wm-type "''+userSettings.wmType+''") ; wayland or x11?
|
||||||
(setq doom-font (font-spec :family "''+font+''" :size 20)) ; import font
|
(setq doom-font (font-spec :family "''+userSettings.font+''" :size 20)) ; import font
|
||||||
(setq dotfiles-dir "''+dotfilesDir+''") ; import location of dotfiles directory
|
(setq dotfiles-dir "''+userSettings.dotfilesDir+''") ; import location of dotfiles directory
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
|
@ -1982,9 +1982,11 @@ Any git package can be configured for a particular commit or branch:
|
||||||
* Nix Integration
|
* Nix Integration
|
||||||
In order to have Nix load my Doom Emacs configuration [[./doom.nix][doom.nix]], which I source in the =imports= block of my [[../../../profiles/work/home.nix][home.nix]].
|
In order to have Nix load my Doom Emacs configuration [[./doom.nix][doom.nix]], which I source in the =imports= block of my [[../../../profiles/work/home.nix][home.nix]].
|
||||||
#+BEGIN_SRC nix :tangle doom.nix
|
#+BEGIN_SRC nix :tangle doom.nix
|
||||||
{ config, lib, pkgs, eaf, eaf-browser, org-nursery, phscroll, org-yaap, org-side-tree, org-timeblock, theme, font, name, username, email, dotfilesDir, profile, wmType, defaultRoamDir, ... }:
|
{ config, lib, pkgs, userSettings, systemSettings,
|
||||||
|
eaf, eaf-browser, org-nursery, org-yaap,
|
||||||
|
org-side-tree, org-timeblock, phscroll, ... }:
|
||||||
let
|
let
|
||||||
themePolarity = lib.removeSuffix "\n" (builtins.readFile (./. + "../../../../themes"+("/"+theme)+"/polarity.txt"));
|
themePolarity = lib.removeSuffix "\n" (builtins.readFile (./. + "../../../../themes"+("/"+userSettings.theme)+"/polarity.txt"));
|
||||||
dashboardLogo = ./. + "/nix-" + themePolarity + ".png";
|
dashboardLogo = ./. + "/nix-" + themePolarity + ".png";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
@ -2123,15 +2125,15 @@ in
|
||||||
|
|
||||||
;; Import relevant variables from flake into emacs
|
;; Import relevant variables from flake into emacs
|
||||||
|
|
||||||
(setq user-full-name "''+name+''") ; name
|
(setq user-full-name "''+userSettings.name+''") ; name
|
||||||
(setq user-username "''+username+''") ; username
|
(setq user-username "''+userSettings.username+''") ; username
|
||||||
(setq user-mail-address "''+email+''") ; email
|
(setq user-mail-address "''+userSettings.email+''") ; email
|
||||||
(setq user-home-directory "/home/''+username+''") ; absolute path to home directory as string
|
(setq user-home-directory "/home/''+userSettings.username+''") ; absolute path to home directory as string
|
||||||
(setq user-default-roam-dir "''+defaultRoamDir+''") ; absolute path to home directory as string
|
(setq user-default-roam-dir "''+userSettings.defaultRoamDir+''") ; absolute path to home directory as string
|
||||||
(setq system-nix-profile "''+profile+''") ; what profile am I using?
|
(setq system-nix-profile "''+systemSettings.profile+''") ; what profile am I using?
|
||||||
(setq system-wm-type "''+wmType+''") ; wayland or x11?
|
(setq system-wm-type "''+userSettings.wmType+''") ; wayland or x11?
|
||||||
(setq doom-font (font-spec :family "''+font+''" :size 20)) ; import font
|
(setq doom-font (font-spec :family "''+userSettings.font+''" :size 20)) ; import font
|
||||||
(setq dotfiles-dir "''+dotfilesDir+''") ; import location of dotfiles directory
|
(setq dotfiles-dir "''+userSettings.dotfilesDir+''") ; import location of dotfiles directory
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
home.packages = [ pkgs.flatpak ];
|
home.packages = [ pkgs.flatpak ];
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, lib, ... }:
|
{ config, pkgs, ... }:
|
||||||
let
|
let
|
||||||
myRetroarch =
|
myRetroarch =
|
||||||
(pkgs.retroarch.override {
|
(pkgs.retroarch.override {
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
{ config, lib, pkgs, name, email, ... }:
|
{ config, pkgs, userSettings, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
home.packages = [ pkgs.git ];
|
home.packages = [ pkgs.git ];
|
||||||
programs.git.enable = true;
|
programs.git.enable = true;
|
||||||
programs.git.userName = name;
|
programs.git.userName = userSettings.name;
|
||||||
programs.git.userEmail = email;
|
programs.git.userEmail = userSettings.email;
|
||||||
programs.git.extraConfig = {
|
programs.git.extraConfig = {
|
||||||
init.defaultBranch = "main";
|
init.defaultBranch = "main";
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# nixpkgs.overlays = [
|
# nixpkgs.overlays = [
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
let myCbxScript = ''
|
let myCbxScript = ''
|
||||||
# TODO fix this for wayland
|
# TODO fix this for wayland
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, lib, ... }:
|
{ pkgs, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, lib, ... }:
|
{ pkgs, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# Various packages related to virtualization, compatability and sandboxing
|
# Various packages related to virtualization, compatability and sandboxing
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, username, dotfilesDir, ... }:
|
{ pkgs, userSettings, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
# This sets up my "phoenix" script with my configuration paths
|
# This sets up my "phoenix" script with my configuration paths
|
||||||
|
@ -43,7 +43,7 @@ let
|
||||||
}
|
}
|
||||||
function sync_system {
|
function sync_system {
|
||||||
echo -e "$ORANGE### Syncing system configuration ###$NC"
|
echo -e "$ORANGE### Syncing system configuration ###$NC"
|
||||||
pushd ''+dotfilesDir+'' &> /dev/null;
|
pushd ''+userSettings.dotfilesDir+'' &> /dev/null;
|
||||||
if [ "$1" = "verbose" ]; then
|
if [ "$1" = "verbose" ]; then
|
||||||
echo "Syncing system configuration (stack traces will be shown):"
|
echo "Syncing system configuration (stack traces will be shown):"
|
||||||
sudo systemd-run --no-ask-password --uid=0 --system --scope -p MemoryLimit=16000M -p CPUQuota=60% nixos-rebuild switch --flake .#system --show-trace;
|
sudo systemd-run --no-ask-password --uid=0 --system --scope -p MemoryLimit=16000M -p CPUQuota=60% nixos-rebuild switch --flake .#system --show-trace;
|
||||||
|
@ -81,7 +81,7 @@ let
|
||||||
}
|
}
|
||||||
function sync_user {
|
function sync_user {
|
||||||
echo -e "$BLUE### Syncing user configuration ###$NC"
|
echo -e "$BLUE### Syncing user configuration ###$NC"
|
||||||
pushd ''+dotfilesDir+'' &> /dev/null;
|
pushd ''+userSettings.dotfilesDir+'' &> /dev/null;
|
||||||
if [ "$1" = "verbose" ]; then
|
if [ "$1" = "verbose" ]; then
|
||||||
echo "Syncing user configuration (stack traces will be shown):"
|
echo "Syncing user configuration (stack traces will be shown):"
|
||||||
echo "Running home-manager switch --flake .#user --show-trace"
|
echo "Running home-manager switch --flake .#user --show-trace"
|
||||||
|
@ -107,7 +107,7 @@ let
|
||||||
}
|
}
|
||||||
function update_flake {
|
function update_flake {
|
||||||
echo -e "$CYAN### Updating flake and other package managers$NC";
|
echo -e "$CYAN### Updating flake and other package managers$NC";
|
||||||
pushd ''+dotfilesDir+'' &> /dev/null;
|
pushd ''+userSettings.dotfilesDir+'' &> /dev/null;
|
||||||
if [ "$1" = "verbose" ]; then
|
if [ "$1" = "verbose" ]; then
|
||||||
echo "Updating flake inputs";
|
echo "Updating flake inputs";
|
||||||
echo "Running nix flake update";
|
echo "Running nix flake update";
|
||||||
|
@ -123,7 +123,7 @@ let
|
||||||
npm install darkreader @mozilla/readability;
|
npm install darkreader @mozilla/readability;
|
||||||
echo "Running rm package*.json";
|
echo "Running rm package*.json";
|
||||||
rm package*.json;
|
rm package*.json;
|
||||||
echo "Returning to ''+dotfilesDir+''"
|
echo "Returning to ''+userSettings.dotfilesDir+''"
|
||||||
popd &> /dev/null;
|
popd &> /dev/null;
|
||||||
fi
|
fi
|
||||||
echo ""
|
echo ""
|
||||||
|
@ -173,7 +173,7 @@ let
|
||||||
fi
|
fi
|
||||||
popd &> /dev/null;
|
popd &> /dev/null;
|
||||||
echo -e "$CYAN### Flake and other updates finished ###$NC";
|
echo -e "$CYAN### Flake and other updates finished ###$NC";
|
||||||
echo -e "Please run$GREEN git$NC diff HEAD flake.lock inside ''+dotfilesDir+(" "+'' to see flake input changes";'')+
|
echo -e "Please run$GREEN git$NC diff HEAD flake.lock inside ''+userSettings.dotfilesDir+(" "+'' to see flake input changes";'')+
|
||||||
''}
|
''}
|
||||||
if [ "$1" = "sync" ]; then
|
if [ "$1" = "sync" ]; then
|
||||||
if [ "$#" = 1 ]; then
|
if [ "$#" = 1 ]; then
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
let
|
let
|
||||||
myYtpScript = ''
|
myYtpScript = ''
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# Python packages
|
# Python packages
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, stdenv, fetchurl, appimageTools, makeWrapper, electron_22, lib, pkgs, ... }:
|
{ lib, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
|
@ -53,4 +53,6 @@
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
];
|
];
|
||||||
|
|
||||||
|
home.packages = [ pkgs.blockbench-electron ];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# THIS DOES NOT WORK YET!
|
# THIS DOES NOT WORK YET!
|
||||||
{ lib, stdenv, buildPythonPackage, pkgs, ... }:
|
{ lib, buildPythonPackage, pkgs, ... }:
|
||||||
|
|
||||||
let name = "Impressive";
|
let name = "Impressive";
|
||||||
_name = "impressive";
|
_name = "impressive";
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# THIS DOES NOT WORK YET!
|
# THIS DOES NOT WORK YET!
|
||||||
{ lib, stdenv, pkgs, ... }:
|
{ stdenv, pkgs, ... }:
|
||||||
|
|
||||||
let name = "rogauracore";
|
let name = "rogauracore";
|
||||||
owner = "wroberts";
|
owner = "wroberts";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# Collection of useful CLI apps
|
# Collection of useful CLI apps
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
let
|
let
|
||||||
|
|
||||||
# My shell aliases
|
# My shell aliases
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
{ config, lib, pkgs, theme, font, fontPkg, wmType, ... }:
|
{ config, lib, pkgs, userSettings, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
themePath = "../../../themes"+("/"+theme+"/"+theme)+".yaml";
|
themePath = "../../../themes"+("/"+userSettings.theme+"/"+userSettings.theme)+".yaml";
|
||||||
themePolarity = lib.removeSuffix "\n" (builtins.readFile (./. + "../../../themes"+("/"+theme)+"/polarity.txt"));
|
themePolarity = lib.removeSuffix "\n" (builtins.readFile (./. + "../../../themes"+("/"+userSettings.theme)+"/polarity.txt"));
|
||||||
backgroundUrl = builtins.readFile (./. + "../../../themes"+("/"+theme)+"/backgroundurl.txt");
|
backgroundUrl = builtins.readFile (./. + "../../../themes"+("/"+userSettings.theme)+"/backgroundurl.txt");
|
||||||
backgroundSha256 = builtins.readFile (./. + "../../../themes/"+("/"+theme)+"/backgroundsha256.txt");
|
backgroundSha256 = builtins.readFile (./. + "../../../themes/"+("/"+userSettings.theme)+"/backgroundsha256.txt");
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
home.file.".currenttheme".text = theme;
|
home.file.".currenttheme".text = userSettings.theme;
|
||||||
stylix.autoEnable = false;
|
stylix.autoEnable = false;
|
||||||
stylix.polarity = themePolarity;
|
stylix.polarity = themePolarity;
|
||||||
stylix.image = pkgs.fetchurl {
|
stylix.image = pkgs.fetchurl {
|
||||||
|
@ -18,16 +18,16 @@ in
|
||||||
|
|
||||||
stylix.fonts = {
|
stylix.fonts = {
|
||||||
monospace = {
|
monospace = {
|
||||||
name = font;
|
name = userSettings.font;
|
||||||
package = fontPkg;
|
package = userSettings.fontPkg;
|
||||||
};
|
};
|
||||||
serif = {
|
serif = {
|
||||||
name = font;
|
name = userSettings.font;
|
||||||
package = fontPkg;
|
package = userSettings.fontPkg;
|
||||||
};
|
};
|
||||||
sansSerif = {
|
sansSerif = {
|
||||||
name = font;
|
name = userSettings.font;
|
||||||
package = fontPkg;
|
package = userSettings.fontPkg;
|
||||||
};
|
};
|
||||||
emoji = {
|
emoji = {
|
||||||
name = "Noto Color Emoji";
|
name = "Noto Color Emoji";
|
||||||
|
@ -72,8 +72,8 @@ in
|
||||||
};
|
};
|
||||||
stylix.targets.kitty.enable = true;
|
stylix.targets.kitty.enable = true;
|
||||||
stylix.targets.gtk.enable = true;
|
stylix.targets.gtk.enable = true;
|
||||||
stylix.targets.rofi.enable = if (wmType == "x11") then true else false;
|
stylix.targets.rofi.enable = if (userSettings.wmType == "x11") then true else false;
|
||||||
stylix.targets.feh.enable = if (wmType == "x11") then true else false;
|
stylix.targets.feh.enable = if (userSettings.wmType == "x11") then true else false;
|
||||||
programs.feh.enable = true;
|
programs.feh.enable = true;
|
||||||
home.file.".fehbg-stylix".text = ''
|
home.file.".fehbg-stylix".text = ''
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, stdenv, toString, browser, term, spawnEditor, font, hyprland-plugins, ... }:
|
{ config, lib, pkgs, userSettings, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
@ -20,9 +20,7 @@
|
||||||
|
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
plugins = [
|
plugins = [ ];
|
||||||
# (pkgs.callPackage ./hyprbars.nix { inherit hyprland-plugins; } )
|
|
||||||
];
|
|
||||||
settings = { };
|
settings = { };
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
exec-once = dbus-update-activation-environment DISPLAY XAUTHORITY WAYLAND_DISPLAY
|
exec-once = dbus-update-activation-environment DISPLAY XAUTHORITY WAYLAND_DISPLAY
|
||||||
|
@ -67,7 +65,7 @@
|
||||||
|
|
||||||
# col.text = 0xff''+ config.lib.stylix.colors.base05 + ''
|
# col.text = 0xff''+ config.lib.stylix.colors.base05 + ''
|
||||||
|
|
||||||
# bar_text_font = '' + font + ''
|
# bar_text_font = '' + userSettings.font + ''
|
||||||
|
|
||||||
# bar_text_size = 12
|
# bar_text_size = 12
|
||||||
|
|
||||||
|
@ -91,11 +89,11 @@
|
||||||
bind = SUPER,R,pass,^(com\.obsproject\.Studio)$
|
bind = SUPER,R,pass,^(com\.obsproject\.Studio)$
|
||||||
bind = SUPERSHIFT,R,pass,^(com\.obsproject\.Studio)$
|
bind = SUPERSHIFT,R,pass,^(com\.obsproject\.Studio)$
|
||||||
|
|
||||||
bind=SUPER,RETURN,exec,'' + term + ''
|
bind=SUPER,RETURN,exec,'' + userSettings.term + ''
|
||||||
|
|
||||||
bind=SUPER,A,exec,'' + spawnEditor + ''
|
bind=SUPER,A,exec,'' + userSettings.spawnEditor + ''
|
||||||
|
|
||||||
bind=SUPER,S,exec,'' + browser + ''
|
bind=SUPER,S,exec,'' + userSettings.browser + ''
|
||||||
|
|
||||||
bind=SUPERCTRL,S,exec,container-open # qutebrowser only
|
bind=SUPERCTRL,S,exec,container-open # qutebrowser only
|
||||||
|
|
||||||
|
@ -551,7 +549,7 @@
|
||||||
style = ''
|
style = ''
|
||||||
* {
|
* {
|
||||||
/* `otf-font-awesome` is required to be installed for icons */
|
/* `otf-font-awesome` is required to be installed for icons */
|
||||||
font-family: FontAwesome, ''+font+'';
|
font-family: FontAwesome, ''+userSettings.font+'';
|
||||||
|
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
}
|
}
|
||||||
|
@ -741,7 +739,7 @@
|
||||||
programs.fuzzel.enable = true;
|
programs.fuzzel.enable = true;
|
||||||
programs.fuzzel.settings = {
|
programs.fuzzel.settings = {
|
||||||
main = {
|
main = {
|
||||||
font = font + ":size=13";
|
font = userSettings.font + ":size=13";
|
||||||
terminal = "${pkgs.alacritty}/bin/alacritty";
|
terminal = "${pkgs.alacritty}/bin/alacritty";
|
||||||
};
|
};
|
||||||
colors = {
|
colors = {
|
||||||
|
@ -764,9 +762,9 @@
|
||||||
anchor = "bottom-right";
|
anchor = "bottom-right";
|
||||||
stacking-order = "top-down";
|
stacking-order = "top-down";
|
||||||
min-width = 400;
|
min-width = 400;
|
||||||
title-font = font + ":size=14";
|
title-font = userSettings.font + ":size=14";
|
||||||
summary-font = font + ":size=12";
|
summary-font = userSettings.font + ":size=12";
|
||||||
body-font = font + ":size=11";
|
body-font = userSettings.font + ":size=11";
|
||||||
border-size = 0;
|
border-size = 0;
|
||||||
};
|
};
|
||||||
low = {
|
low = {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@
|
||||||
../../lang/haskell/haskell.nix
|
../../lang/haskell/haskell.nix
|
||||||
../../app/terminal/alacritty.nix
|
../../app/terminal/alacritty.nix
|
||||||
../../app/terminal/kitty.nix
|
../../app/terminal/kitty.nix
|
||||||
( import ../../app/dmenu-scripts/networkmanager-dmenu.nix {dmenu_command = "rofi -show dmenu"; inherit config lib pkgs;})
|
( import ../../app/dmenu-scripts/networkmanager-dmenu.nix {dmenu_command = "rofi -show dmenu"; inherit pkgs;})
|
||||||
];
|
];
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|
|
@ -779,7 +779,7 @@ while true
|
||||||
* Nix Integration
|
* Nix Integration
|
||||||
In order to have Nix put my xmonad/xmobar configuration in the proper places, I have [[./xmonad.nix][xmonad.nix]], which I source in the =imports= block of my [[../../home.nix][home.nix]].
|
In order to have Nix put my xmonad/xmobar configuration in the proper places, I have [[./xmonad.nix][xmonad.nix]], which I source in the =imports= block of my [[../../home.nix][home.nix]].
|
||||||
#+BEGIN_SRC nix :tangle xmonad.nix
|
#+BEGIN_SRC nix :tangle xmonad.nix
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -787,7 +787,7 @@ In order to have Nix put my xmonad/xmobar configuration in the proper places, I
|
||||||
../../lang/haskell/haskell.nix
|
../../lang/haskell/haskell.nix
|
||||||
../../app/terminal/alacritty.nix
|
../../app/terminal/alacritty.nix
|
||||||
../../app/terminal/kitty.nix
|
../../app/terminal/kitty.nix
|
||||||
( import ../../app/dmenu-scripts/networkmanager-dmenu.nix {dmenu_command = "rofi -show dmenu"; inherit config lib pkgs;})
|
( import ../../app/dmenu-scripts/networkmanager-dmenu.nix {dmenu_command = "rofi -show dmenu"; inherit pkgs;})
|
||||||
];
|
];
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|
Loading…
Reference in a new issue