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