rebuild not working
This commit is contained in:
parent
46d79f6f18
commit
f514c9b1b4
13 changed files with 280 additions and 12 deletions
|
@ -10,5 +10,6 @@ _: {
|
|||
./runners
|
||||
./styling
|
||||
./options
|
||||
#./system/nix/module.nix
|
||||
];
|
||||
}
|
||||
|
|
|
@ -21,7 +21,7 @@ in {
|
|||
gamescopeSession.enable = mkIf cfg.gamescope true;
|
||||
};
|
||||
programs.gamemode.enable = true;
|
||||
environment.systemPackages = [pkgs.protonup];
|
||||
environment.systemPackages = [pkgs.protonup-ng];
|
||||
environment.sessionVariables = {
|
||||
STEAM_EXTRA_COMPAT_TOOLS_PATHS = "/home/${username}/.steam/root/compatibilitytoolds.d";
|
||||
};
|
||||
|
|
|
@ -2,12 +2,15 @@
|
|||
inherit (lib.options) mkOption mkEnableOption;
|
||||
inherit (lib) types;
|
||||
in {
|
||||
options.modules.usrEnv.services.media = {
|
||||
mpd = {
|
||||
enable = mkEnableOption "mpd service";
|
||||
musicDirectory = mkOption {
|
||||
description = "music directory for mpd";
|
||||
type = types.str;
|
||||
options.modules.usrEnv.services = {
|
||||
locate.enable = mkEnableOption "Locate service";
|
||||
media = {
|
||||
mpd = {
|
||||
enable = mkEnableOption "mpd service";
|
||||
musicDirectory = mkOption {
|
||||
description = "music directory for mpd";
|
||||
type = types.str;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1 +1,12 @@
|
|||
_: {imports = [./pipewire.nix ./ssh.nix ./greetd.nix ./dunst.nix ./mpd.nix ./firewall.nix ./vpn.nix];}
|
||||
_: {
|
||||
imports = [
|
||||
./pipewire.nix
|
||||
./locate.nix
|
||||
./ssh.nix
|
||||
./greetd.nix
|
||||
./dunst.nix
|
||||
./mpd.nix
|
||||
./firewall.nix
|
||||
./vpn.nix
|
||||
];
|
||||
}
|
||||
|
|
19
modules/services/locate.nix
Normal file
19
modules/services/locate.nix
Normal file
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
cfg = config.modules.usrEnv.services.locate;
|
||||
inherit (lib) mkIf;
|
||||
in {
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [plocate];
|
||||
services.locate = {
|
||||
enable = true;
|
||||
interval = "hourly";
|
||||
package = pkgs.plocate;
|
||||
localuser = null;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -51,7 +51,7 @@ in {
|
|||
# };
|
||||
|
||||
emoji = {
|
||||
package = pkgs.noto-fonts-emoji;
|
||||
package = pkgs.noto-fonts-color-emoji;
|
||||
name = "Noto Color Emoji";
|
||||
};
|
||||
};
|
||||
|
|
28
modules/system/nix/documentation.nix
Normal file
28
modules/system/nix/documentation.nix
Normal file
|
@ -0,0 +1,28 @@
|
|||
{
|
||||
# faster rebuilding
|
||||
documentation = {
|
||||
# whether to enable the `doc` output of packages
|
||||
# generally in ${pkg}/share/ as plaintext or html
|
||||
# # can shave off a few megabytes
|
||||
# doc.enable = false;
|
||||
#
|
||||
# # whether to install the `info` command and the `info`
|
||||
# # output of packages
|
||||
# info.enable = false;
|
||||
#
|
||||
# man = {
|
||||
# # Whether to install manual pages
|
||||
# # this means packages that provide a `man` output will have said output
|
||||
# # included in the final closure
|
||||
# enable = true;
|
||||
#
|
||||
# # Whether to generate the manual page index caches
|
||||
# # if true, it becomes possible to search for a page or keyword
|
||||
# # using utilities like apropos(1) and the -k option of man(1).
|
||||
# generateCaches = true;
|
||||
#
|
||||
# # Whether to enable mandoc as the default man page viewer.
|
||||
# mandoc.enable = false; # my default manpage viewer is Neovim, so this isn't necessary
|
||||
# };
|
||||
};
|
||||
}
|
152
modules/system/nix/module.nix
Normal file
152
modules/system/nix/module.nix
Normal file
|
@ -0,0 +1,152 @@
|
|||
{pkgs, ...}: {
|
||||
imports = [
|
||||
./documentation.nix # nixos documentation
|
||||
./nixpkgs.nix # global nixpkgs configuration.nix
|
||||
];
|
||||
|
||||
nix = {
|
||||
# Lix, Nix but gay!
|
||||
# package = pkgs.lix;
|
||||
#
|
||||
# # Run the Nix daemon on lowest possible priority so that my system
|
||||
# # stays responsive during demanding tasks such as GC and builds.
|
||||
# # This is especially useful while auto-gc and auto-upgrade are enabled
|
||||
# # as they can be quite demanding on the CPU.
|
||||
# daemonCPUSchedPolicy = "idle";
|
||||
# daemonIOSchedClass = "idle";
|
||||
# daemonIOSchedPriority = 7;
|
||||
#
|
||||
# # Collect garbage
|
||||
# gc = {
|
||||
# automatic = true;
|
||||
# dates = "20:00";
|
||||
# options = "--delete-older-than 7d";
|
||||
# persistent = false; # don't try to catch up on missed GC runs
|
||||
# };
|
||||
#
|
||||
# # Automatically optimize nix store by removing hard links
|
||||
# # do it after the gc.
|
||||
# optimise = {
|
||||
# automatic = true;
|
||||
# dates = ["21:00"];
|
||||
# };
|
||||
#
|
||||
settings = {
|
||||
# Tell nix to use the xdg spec for base directories
|
||||
# while transitioning, any state must be carried over
|
||||
# manually, as Nix won't do it for us.
|
||||
# use-xdg-base-directories = true;
|
||||
#
|
||||
# # Automatically optimise symlinks
|
||||
# auto-optimise-store = true;
|
||||
#
|
||||
# # Allow sudo users to mark the following values as trusted
|
||||
# allowed-users = ["root" "@wheel" "nix-builder"];
|
||||
#
|
||||
# # Only allow sudo users to manage the nix store
|
||||
# trusted-users = ["root" "@wheel" "nix-builder"];
|
||||
#
|
||||
# # Let the system decide the number of max jobs
|
||||
# # based on available system specs. Usually this is
|
||||
# # the same as the number of cores your CPU has.
|
||||
# max-jobs = "auto";
|
||||
#
|
||||
# # Always build inside sandboxed environments
|
||||
# sandbox = true;
|
||||
# sandbox-fallback = false;
|
||||
#
|
||||
# # Continue building derivations even if one fails
|
||||
# keep-going = true;
|
||||
#
|
||||
# # Fallback to local builds after remote builders are unavailable.
|
||||
# # Setting this too low on a slow network may cause remote builders
|
||||
# # to be discarded before a connection can be established.
|
||||
# connect-timeout = 5;
|
||||
#
|
||||
# # If we haven't received data for >= 20s, retry the download
|
||||
# stalled-download-timeout = 20;
|
||||
#
|
||||
# # Show more logs when a build fails and decides to display
|
||||
# # a bunch of lines. `nix log` would normally provide more
|
||||
# # information, but this may save us some time and keystrokes.
|
||||
# log-lines = 30;
|
||||
#
|
||||
# # Extra features of Nix that are considered unstable
|
||||
# # and experimental. By default we should always include
|
||||
# # `flakes` and `nix-command`, while others are usually
|
||||
# optional.
|
||||
extra-experimental-features = [
|
||||
"flakes" # flakes
|
||||
"nix-command" # experimental nix commands
|
||||
"cgroups" # allow nix to execute builds inside cgroups
|
||||
];
|
||||
|
||||
# Ensures that the result of Nix expressions is fully determined by
|
||||
# # explicitly declared inputs, and not influenced by external state.
|
||||
# # In other words, fully stateless evaluation by Nix at all times.
|
||||
# # pure-eval = true;
|
||||
#
|
||||
# # Don't warn me that my git tree is dirty, I know.
|
||||
# warn-dirty = false;
|
||||
#
|
||||
# # Maximum number of parallel TCP connections
|
||||
# # used to fetch imports and binary caches.
|
||||
# # 0 means no limit, default is 25.
|
||||
# http-connections = 50; # lower values fare better on slow connections
|
||||
#
|
||||
# # Whether to accept nix configuration from a flake
|
||||
# # without displaying a Y/N prompt. For those obtuse
|
||||
# # enough to keep this true, I wish the best of luck.
|
||||
# # tl;dr: this is a security vulnerability.
|
||||
# accept-flake-config = false;
|
||||
#
|
||||
# # Whether to execute builds inside cgroups. cgroups are
|
||||
# # "a Linux kernel feature that limits, accounts for, and
|
||||
# # isolates the resource usage (CPU, memory, disk I/O, etc.)
|
||||
# # of a collection of processes."
|
||||
# # See:
|
||||
# # <https://en.wikipedia.org/wiki/Cgroups>
|
||||
# # use-cgroups = pkgs.stdenv.isLinux; # only supported on Linux
|
||||
#
|
||||
# # for direnv GC roots
|
||||
# keep-derivations = true;
|
||||
# keep-outputs = true;
|
||||
#
|
||||
# # Use binary cache, this is not Gentoo
|
||||
# # external builders can also pick up those substituters
|
||||
# builders-use-substitutes = true;
|
||||
|
||||
# Substituters to pull from. While sigs are disabled, we must
|
||||
# make sure the substituters listed here are trusted.
|
||||
substituters = [
|
||||
"https://cache.nixos.org" # funny binary cache
|
||||
"https://cache.privatevoid.net" # for nix-super
|
||||
"https://nix-community.cachix.org" # nix-community cache
|
||||
"https://hyprland.cachix.org" # hyprland
|
||||
"https://nixpkgs-unfree.cachix.org" # unfree-package cache
|
||||
"https://anyrun.cachix.org" # anyrun program launcher
|
||||
"https://neovim-flake.cachix.org" # a cache for my neovim flake
|
||||
"https://cache.garnix.io" # garnix binary cache, hosts prismlauncher
|
||||
];
|
||||
|
||||
trusted-public-keys = [
|
||||
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
||||
"cache.privatevoid.net:SErQ8bvNWANeAvtsOESUwVYr2VJynfuc9JRwlzTTkVg="
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
||||
"nixpkgs-unfree.cachix.org-1:hqvoInulhbV4nJ9yJOEr+4wxhDV4xq2d1DK7S6Nj6rs="
|
||||
"anyrun.cachix.org-1:pqBobmOjI7nKlsUMV25u9QHa9btJK65/C8vnO3p346s="
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
# By default nix-gc makes no effort to respect battery life by avoiding
|
||||
# GC runs on battery and fully commits a few cores to collecting garbage.
|
||||
# This will drain the battery faster than you can say "Nix, what the hell?"
|
||||
# and contribute heavily to you wanting to get a new desktop.
|
||||
# For those curious (such as myself) desktops are always seen as "AC powered"
|
||||
# so the system will not fail to fire if you are on a desktop system.
|
||||
# systemd.services.nix-gc = {
|
||||
# unitConfig.ConditionACPower = true;
|
||||
# };
|
||||
}
|
45
modules/system/nix/nixpkgs.nix
Normal file
45
modules/system/nix/nixpkgs.nix
Normal file
|
@ -0,0 +1,45 @@
|
|||
{
|
||||
# Global nixpkgs configuration. This is ignored if nixpkgs.pkgs is set
|
||||
# which is a case that should be avoided. Everything that is set to configure
|
||||
# nixpkgs must go here.
|
||||
nixpkgs = {
|
||||
# Configuration reference:
|
||||
# <https://nixos.org/manual/nixpkgs/unstable/#chap-packageconfig>
|
||||
# config = {
|
||||
# # Allow broken packages to be built. Setting this to false means packages
|
||||
# # will refuse to evaluate sometimes, but only if they have been marked as
|
||||
# # broken for a specific reason. At that point we can either try to solve
|
||||
# # the breakage, or get rid of the package entirely.
|
||||
# allowBroken = false;
|
||||
# allowUnsupportedSystem = true;
|
||||
#
|
||||
# # Really a pain in the ass to deal with when disabled. True means
|
||||
# # we are able to build unfree packages without explicitly allowing
|
||||
# # each unfree package.
|
||||
# allowUnfree = true;
|
||||
#
|
||||
# # Default to none, add more as necessary. This is usually where
|
||||
# # electron packages go when they reach EOL.
|
||||
# permittedInsecurePackages = [];
|
||||
#
|
||||
# # Nixpkgs sets internal package aliases to ease migration from other
|
||||
# # distributions easier, or for convenience's sake. Even though the manual
|
||||
# # and the description for this option recommends this to be true, I prefer
|
||||
# # explicit naming conventions, i.e., no aliases.
|
||||
# allowAliases = true;
|
||||
#
|
||||
# # Enable parallel building by default. This, in theory, should speed up building
|
||||
# # derivations, especially rust ones. However setting this to true causes a mass rebuild
|
||||
# # of the *entire* system closure, so it must be handled with proper care.
|
||||
# enableParallelBuildingByDefault = false;
|
||||
#
|
||||
# # List of derivation warnings to display while rebuilding.
|
||||
# # See: <https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/check-meta.nix>
|
||||
# # NOTE: "maintainerless" can be added to emit warnings
|
||||
# # about packages without maintainers but it seems to me
|
||||
# # like there are more packages without maintainers than
|
||||
# # with maintainers, so it's disabled for the time being.
|
||||
# showDerivationWarnings = [];
|
||||
# };
|
||||
};
|
||||
}
|
|
@ -172,7 +172,7 @@ in {
|
|||
];
|
||||
# Hyprland anomations, using the above bezier curves
|
||||
animations = {
|
||||
enabled = false;
|
||||
enabled = true;
|
||||
animation = [
|
||||
"windows, 1, 4, dupa, popin"
|
||||
"windowsOut, 1, 4, dupa, slide"
|
||||
|
@ -359,6 +359,12 @@ in {
|
|||
"[workspace special:pipewire;silent;tile] ${pkgs.pavucontrol}/bin/pavucontrol"
|
||||
# "${pkgs.networkmanagerapplet}/bin/nm-applet --indicator"
|
||||
];
|
||||
plugin = {
|
||||
split-monitor-workspaces = {
|
||||
keep-focued = true;
|
||||
count = 10;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue