back to building state
This commit is contained in:
parent
1eeceb742b
commit
ad816fe171
14 changed files with 207 additions and 140 deletions
|
@ -13,7 +13,6 @@
|
|||
|
||||
modules = {
|
||||
system.audio.enable = true;
|
||||
networking.enable = true;
|
||||
|
||||
# EXPERIMENTS
|
||||
services.auth.enable = true;
|
||||
|
|
|
@ -28,8 +28,6 @@ in
|
|||
extraModulePackages = [ ];
|
||||
};
|
||||
|
||||
networking.useDHCP = mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = mkDefault "x86_64-linux";
|
||||
hardware.cpu.intel.updateMicrocode = mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
||||
|
|
|
@ -2,6 +2,6 @@
|
|||
{
|
||||
modules = {
|
||||
system.audio.enable = true;
|
||||
networking.enable = true;
|
||||
system.bluetooth.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -26,8 +26,6 @@ in
|
|||
extraModulePackages = [ ];
|
||||
};
|
||||
|
||||
networking.useDHCP = mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = mkDefault "x86_64-linux";
|
||||
hardware.cpu.intel.updateMicrocode = mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
||||
|
|
|
@ -26,8 +26,6 @@ in
|
|||
extraModulePackages = [ ];
|
||||
};
|
||||
|
||||
networking.useDHCP = mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = mkDefault "x86_64-linux";
|
||||
hardware.cpu.intel.updateMicrocode = mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
||||
|
|
|
@ -27,6 +27,7 @@ in rec
|
|||
inputs.nixos-boot.nixosModules.default
|
||||
({ options, config, ...}: {
|
||||
nixpkgs.pkgs = pkgs;
|
||||
|
||||
networking.hostName = mkDefault (removeSuffix ".nix" (baseNameOf path));
|
||||
|
||||
system = {
|
||||
|
|
|
@ -37,131 +37,113 @@ in
|
|||
|
||||
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||
|
||||
environment.plasma6.excludePackages = with pkgs.kdePackages; [
|
||||
konsole
|
||||
];
|
||||
environment.plasma6.excludePackages = with pkgs.kdePackages; [ konsole kate ghostwriter ];
|
||||
|
||||
# should enable theme integration with gtk apps (i.e. firefox, thunderbird)
|
||||
programs.dconf.enable = true;
|
||||
|
||||
home-manager.users.${user}.programs = {
|
||||
plasma = {
|
||||
enable = true;
|
||||
|
||||
workspace = {
|
||||
lookAndFeel = "org.kde.breezedark.desktop";
|
||||
wallpaper = "${pkgs.kdePackages.plasma-workspace-wallpapers}/share/wallpapers/Patak/contents/images/1080x1920.png";
|
||||
};
|
||||
home-manager.users.${user}.programs.plasma = {
|
||||
enable = true;
|
||||
immutableByDefault = true;
|
||||
|
||||
workspace = {
|
||||
lookAndFeel = "org.kde.breezedark.desktop";
|
||||
};
|
||||
|
||||
hotkeys.commands."spectable" = {
|
||||
name = "Launch Spectable";
|
||||
key = "Meta+Shift+S";
|
||||
command = "spectable captureRectangularRegion";
|
||||
};
|
||||
spectacle.shortcuts = {
|
||||
captureRectangularRegion = "Meta+Shift+S";
|
||||
};
|
||||
|
||||
kwin = {
|
||||
edgeBarrier = 0;
|
||||
cornerBarrier = false;
|
||||
};
|
||||
kwin = {
|
||||
edgeBarrier = 0;
|
||||
cornerBarrier = false;
|
||||
|
||||
panels = [
|
||||
# Windows-like panel at the bottom
|
||||
{
|
||||
location = "bottom";
|
||||
widgets = [
|
||||
# We can configure the widgets by adding the name and config
|
||||
# attributes. For example to add the the kickoff widget and set the
|
||||
# icon to "nix-snowflake-white" use the below configuration. This will
|
||||
# add the "icon" key to the "General" group for the widget in
|
||||
# ~/.config/plasma-org.kde.plasma.desktop-appletsrc.
|
||||
{
|
||||
name = "org.kde.plasma.kickoff";
|
||||
config = {
|
||||
General = {
|
||||
icon = "nix-snowflake-white";
|
||||
alphaSort = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
# Or you can configure the widgets by adding the widget-specific options for it.
|
||||
# See modules/widgets for supported widgets and options for these widgets.
|
||||
# For example:
|
||||
{
|
||||
kickoff = {
|
||||
sortAlphabetically = true;
|
||||
icon = "nix-snowflake-white";
|
||||
};
|
||||
}
|
||||
# Adding configuration to the widgets can also for example be used to
|
||||
# pin apps to the task-manager, which this example illustrates by
|
||||
# pinning dolphin and konsole to the task-manager by default with widget-specific options.
|
||||
{
|
||||
iconTasks = {
|
||||
launchers = [
|
||||
"applications:org.kde.dolphin.desktop"
|
||||
"applications:org.kde.konsole.desktop"
|
||||
];
|
||||
};
|
||||
}
|
||||
# Or you can do it manually, for example:
|
||||
{
|
||||
name = "org.kde.plasma.icontasks";
|
||||
config = {
|
||||
General = {
|
||||
launchers = [
|
||||
"applications:org.kde.dolphin.desktop"
|
||||
"applications:org.kde.konsole.desktop"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
# If no configuration is needed, specifying only the name of the
|
||||
# widget will add them with the default configuration.
|
||||
"org.kde.plasma.marginsseparator"
|
||||
# If you need configuration for your widget, instead of specifying the
|
||||
# the keys and values directly using the config attribute as shown
|
||||
# above, plasma-manager also provides some higher-level interfaces for
|
||||
# configuring the widgets. See modules/widgets for supported widgets
|
||||
# and options for these widgets. The widgets below shows two examples
|
||||
# of usage, one where we add a digital clock, setting 12h time and
|
||||
# first day of the week to Sunday and another adding a systray with
|
||||
# some modifications in which entries to show.
|
||||
{
|
||||
digitalClock = {
|
||||
calendar.firstDayOfWeek = "sunday";
|
||||
time.format = "12h";
|
||||
};
|
||||
}
|
||||
{
|
||||
systemTray.items = {
|
||||
# We explicitly show bluetooth and battery
|
||||
shown = [
|
||||
"org.kde.plasma.battery"
|
||||
"org.kde.plasma.bluetooth"
|
||||
];
|
||||
# And explicitly hide networkmanagement and volume
|
||||
hidden = [
|
||||
"org.kde.plasma.networkmanagement"
|
||||
"org.kde.plasma.volume"
|
||||
];
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
effects = {
|
||||
translucency.enable = true;
|
||||
|
||||
configFile = {
|
||||
baloofilerc."Basic Settings"."Indexing-Enabled" = false;
|
||||
kwinrc."org.kde.kdecoration2".ButtonsOnLeft = "SF";
|
||||
kwinrc.Desktops.Number = {
|
||||
value = 1;
|
||||
immutable = true;
|
||||
blur = {
|
||||
enable = true;
|
||||
strength = 5;
|
||||
noiseStrength = 5;
|
||||
};
|
||||
kscreenlockerrc = {
|
||||
Greeter.WallpaperPlugin = "org.kde.potd";
|
||||
# To use nested groups use / as a separator. In the below example,
|
||||
# Provider will be added to [Greeter][Wallpaper][org.kde.potd][General].
|
||||
"Greeter/Wallpaper/org.kde.potd/General".Provider = "bing";
|
||||
|
||||
snapHelper.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
panels = [
|
||||
# Windows-like panel at the bottom
|
||||
{
|
||||
location = "bottom";
|
||||
widgets = [
|
||||
"org.kde.plasma.kickoff"
|
||||
{
|
||||
name = "org.kde.plasma.icontasks";
|
||||
config = {
|
||||
launchers = [
|
||||
"preferred://browser"
|
||||
"applications:org.kde.konsole.desktop"
|
||||
"applications:org.kde.dolphin.desktop"
|
||||
"applications:equibop.desktop"
|
||||
"applications:code.desktop"
|
||||
"applications:com.obsproject.Studio"
|
||||
"applications:spotify.desktop"
|
||||
];
|
||||
};
|
||||
}
|
||||
"org.kde.plasma.systemtray"
|
||||
"org.kde.plasma.digitalclock"
|
||||
];
|
||||
floating = true;
|
||||
minLength = 1743;
|
||||
maxLength = 1920;
|
||||
hiding = "dodgewindows";
|
||||
}
|
||||
];
|
||||
|
||||
powerdevil = {
|
||||
AC = {
|
||||
powerButtonAction = "shutDown";
|
||||
whenLaptopLidClosed = "doNothing";
|
||||
|
||||
autoSuspend.action = "nothing";
|
||||
dimDisplay.enable = false;
|
||||
|
||||
turnOffDisplay = {
|
||||
idleTimeout = "never";
|
||||
};
|
||||
};
|
||||
battery = {
|
||||
powerButtonAction = "shutDown";
|
||||
whenLaptopLidClosed = "doNothing";
|
||||
|
||||
autoSuspend.action = "nothing";
|
||||
dimDisplay.enable = false;
|
||||
|
||||
turnOffDisplay = {
|
||||
idleTimeout = "never";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
kscreenlocker = {
|
||||
autoLock = false;
|
||||
lockOnResume = false;
|
||||
lockOnStartup = false;
|
||||
|
||||
appearance = {
|
||||
alwaysShowClock = true;
|
||||
showMediaControls = true;
|
||||
};
|
||||
};
|
||||
|
||||
configFile = {
|
||||
kdeglobals = {
|
||||
General = {
|
||||
# enable font antialiasing
|
||||
XftAntialias = true;
|
||||
XftHintStyle = "hintslight";
|
||||
XftSubPixel = "rgb";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -31,6 +31,8 @@ in
|
|||
fzf.enable = true;
|
||||
starship.enable = true;
|
||||
tmux.enable = true;
|
||||
yazi.enable = true;
|
||||
eza.enable = true;
|
||||
};
|
||||
|
||||
home-manager.users.${user} = {
|
||||
|
@ -41,9 +43,21 @@ in
|
|||
rgFull = pkgs.ripgrep.override {withPCRE2 = true;};
|
||||
};
|
||||
|
||||
home.shellAliases = {
|
||||
ls = "eza -a";
|
||||
cat = "bat -pp";
|
||||
y = "yazi";
|
||||
zed = "zeditor .";
|
||||
};
|
||||
|
||||
programs = {
|
||||
direnv = {
|
||||
enable = true;
|
||||
config.global = {
|
||||
load_dotenv = true;
|
||||
strict_env = true;
|
||||
hide_env_diff = true;
|
||||
};
|
||||
nix-direnv.enable = true;
|
||||
config.whitelist.prefix = ["/home"];
|
||||
};
|
||||
|
|
26
modules/home/shell/toolset/eza.nix
Normal file
26
modules/home/shell/toolset/eza.nix
Normal file
|
@ -0,0 +1,26 @@
|
|||
{ config, options, lib, pkgs, user, ... }:
|
||||
let
|
||||
inherit (lib.modules) mkIf;
|
||||
inherit (lib.strings) concatStringsSep;
|
||||
inherit (lib.options) mkEnableOption;
|
||||
|
||||
cfg = config.modules.${user}.shell.toolset.eza;
|
||||
in
|
||||
{
|
||||
options.modules.${user}.shell.toolset.eza = {
|
||||
enable = mkEnableOption "system-monitor";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home-manager.users.${user}.programs.eza = {
|
||||
enable = true;
|
||||
icons = "auto";
|
||||
git = true;
|
||||
extraOptions = [
|
||||
"--hyperlink"
|
||||
"--across"
|
||||
"--group-directories-first"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
18
modules/home/shell/toolset/yazi.nix
Normal file
18
modules/home/shell/toolset/yazi.nix
Normal file
|
@ -0,0 +1,18 @@
|
|||
{ config, options, lib, pkgs, user, ... }:
|
||||
let
|
||||
inherit (lib.modules) mkIf;
|
||||
inherit (lib.strings) concatStringsSep;
|
||||
in
|
||||
{
|
||||
options.modules.${user}.shell.toolset.yazi = let
|
||||
inherit (lib.options) mkEnableOption;
|
||||
in {
|
||||
enable = mkEnableOption "system-monitor";
|
||||
};
|
||||
|
||||
config = mkIf config.modules.${user}.shell.toolset.yazi.enable {
|
||||
home-manager.users.${user}.programs.yazi = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -34,6 +34,7 @@ in
|
|||
|
||||
programs = {
|
||||
starship.enableZshIntegration = true;
|
||||
yazi.enableZshIntegration = true;
|
||||
|
||||
zsh = {
|
||||
enable = true;
|
||||
|
|
|
@ -1,30 +1,30 @@
|
|||
{
|
||||
config,
|
||||
options,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.modules) mkDefault mkIf mkMerge;
|
||||
{ config, options, lib, pkgs, ... }: let
|
||||
inherit (lib.modules) mkDefault;
|
||||
inherit (lib.options) mkOption;
|
||||
|
||||
cfg = config.modules.networking;
|
||||
in {
|
||||
options.modules.networking = let
|
||||
inherit (lib.options) mkEnableOption;
|
||||
in {
|
||||
enable = mkEnableOption "network manager";
|
||||
options.modules.networking = {
|
||||
wifi.backend = mkOption {
|
||||
type = with lib.types; enum [ "wpa_supplicant" "iwd" ];
|
||||
default = "wpa_supplicant";
|
||||
example = "wpa_supplicant";
|
||||
description = "set the backend used for wifi wpa_supplicant by default";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
config = {
|
||||
systemd.services.NetworkManager-wait-online.enable = false;
|
||||
|
||||
networking = {
|
||||
enableIPv6 = true;
|
||||
useDHCP = mkDefault true;
|
||||
|
||||
firewall.enable = true;
|
||||
|
||||
networkmanager = {
|
||||
enable = mkDefault true;
|
||||
wifi.backend = "wpa_supplicant";
|
||||
wifi.backend = mkDefault config.modules.networking.wifi.backend;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -24,7 +24,6 @@ in
|
|||
enable = true;
|
||||
wireplumber.enable = true;
|
||||
pulse.enable = true;
|
||||
# jack.enable = true;
|
||||
|
||||
alsa = {
|
||||
enable = true;
|
||||
|
|
33
modules/system/system/bluetooth.nix
Normal file
33
modules/system/system/bluetooth.nix
Normal file
|
@ -0,0 +1,33 @@
|
|||
{ config, options, lib, pkgs, ... }:
|
||||
let
|
||||
inherit (lib.attrsets) attrValues;
|
||||
inherit (lib.modules) mkIf;
|
||||
|
||||
cfg = config.modules.system.bluetooth;
|
||||
in
|
||||
{
|
||||
options.modules.system.bluetooth = let
|
||||
inherit (lib.options) mkEnableOption;
|
||||
in
|
||||
{
|
||||
enable = mkEnableOption "enable bluetooth";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
hardware = {
|
||||
bluetooth = {
|
||||
enable = true;
|
||||
powerOnBoot = true;
|
||||
};
|
||||
};
|
||||
|
||||
services.pipewire.wireplumber.extraConfig.bluetoothEnhancements = {
|
||||
"monitor.bluez.properties" = {
|
||||
"bluez5.enable-sbc-xq" = true;
|
||||
"bluez5.enable-msbc" = true;
|
||||
"bluez5.enable-hw-volume" = true;
|
||||
"bluez5.roles" = [ "hsp_hs" "hsp_ag" "hfp_hf" "hfp_ag" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue