properly reformat all files
This commit is contained in:
parent
635ef052e7
commit
5948c1db1c
38
flake.nix
38
flake.nix
@ -10,16 +10,22 @@
|
|||||||
ags.url = "github:Aylur/ags";
|
ags.url = "github:Aylur/ags";
|
||||||
|
|
||||||
fingerprint-sensor.url = "github:ahbnr/nixos-06cb-009a-fingerprint-sensor/24.11";
|
fingerprint-sensor.url = "github:ahbnr/nixos-06cb-009a-fingerprint-sensor/24.11";
|
||||||
android-nixpkgs.url = "github:tadfisher/android-nixpkgs";
|
android-nixpkgs.url = "github:tadfisher/android-nixpkgs";
|
||||||
hyprspace.url = "github:KZDKM/Hyprspace";
|
hyprspace.url = "github:KZDKM/Hyprspace";
|
||||||
|
|
||||||
android-nixpkgs.inputs.nixpkgs.follows = "nixpkgs";
|
android-nixpkgs.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
stylix.inputs.nixpkgs.follows = "nixpkgs";
|
stylix.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
ags.inputs.nixpkgs.follows = "nixpkgs";
|
ags.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, android-nixpkgs, ... }:
|
outputs =
|
||||||
|
{
|
||||||
|
self,
|
||||||
|
nixpkgs,
|
||||||
|
android-nixpkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
forAllSystems = nixpkgs.lib.genAttrs [
|
forAllSystems = nixpkgs.lib.genAttrs [
|
||||||
"aarch64-linux"
|
"aarch64-linux"
|
||||||
@ -29,12 +35,16 @@
|
|||||||
in
|
in
|
||||||
{
|
{
|
||||||
nixosConfigurations = import ./hosts { inherit self; };
|
nixosConfigurations = import ./hosts { inherit self; };
|
||||||
devShells = forAllSystems (system:
|
devShells = forAllSystems (
|
||||||
let pkgs = nixpkgs.legacyPackages.${system};
|
system:
|
||||||
in {
|
let
|
||||||
ddt4all = import ./shells/ddt4all.nix { inherit pkgs; };
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
android = import ./shells/android.nix { inherit pkgs android-nixpkgs; };
|
in
|
||||||
rust = import ./shells/rust.nix { inherit pkgs; };
|
{
|
||||||
});
|
ddt4all = import ./shells/ddt4all.nix { inherit pkgs; };
|
||||||
|
android = import ./shells/android.nix { inherit pkgs android-nixpkgs; };
|
||||||
|
rust = import ./shells/rust.nix { inherit pkgs; };
|
||||||
|
}
|
||||||
|
);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
inherit (self) inputs;
|
inherit (self) inputs;
|
||||||
|
|
||||||
lib = inputs.nixpkgs.lib;
|
lib = inputs.nixpkgs.lib;
|
||||||
homeDir = self + /profiles;
|
homeDir = self + /profiles;
|
||||||
|
|
||||||
mkSystem =
|
mkSystem =
|
||||||
@ -12,16 +12,17 @@ let
|
|||||||
hostname,
|
hostname,
|
||||||
useHomeManager ? true,
|
useHomeManager ? true,
|
||||||
modules ? [ ],
|
modules ? [ ],
|
||||||
}: lib.nixosSystem {
|
}:
|
||||||
|
lib.nixosSystem {
|
||||||
specialArgs = { inherit inputs; };
|
specialArgs = { inherit inputs; };
|
||||||
modules =
|
modules =
|
||||||
[
|
[
|
||||||
./base-configuration.nix
|
./base-configuration.nix
|
||||||
./${hostname}
|
./${hostname}
|
||||||
homeDir
|
homeDir
|
||||||
]
|
]
|
||||||
++ lib.lists.optionals useHomeManager [ inputs.home-manager.nixosModules.default ]
|
++ lib.lists.optionals useHomeManager [ inputs.home-manager.nixosModules.default ]
|
||||||
++ modules;
|
++ modules;
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
@ -9,9 +9,12 @@
|
|||||||
];
|
];
|
||||||
|
|
||||||
nix.settings = {
|
nix.settings = {
|
||||||
experimental-features = [ "nix-command" "flakes" ];
|
experimental-features = [
|
||||||
auto-optimise-store = true;
|
"nix-command"
|
||||||
};
|
"flakes"
|
||||||
|
];
|
||||||
|
auto-optimise-store = true;
|
||||||
|
};
|
||||||
|
|
||||||
nix.gc = {
|
nix.gc = {
|
||||||
automatic = true;
|
automatic = true;
|
||||||
@ -19,16 +22,16 @@
|
|||||||
options = "--delete-older-than 7d";
|
options = "--delete-older-than 7d";
|
||||||
};
|
};
|
||||||
|
|
||||||
nixpkgs.config = {
|
nixpkgs.config = {
|
||||||
allowUnfreePredicate =
|
allowUnfreePredicate =
|
||||||
pkg:
|
pkg:
|
||||||
builtins.elem (pkgs.lib.getName pkg) [
|
builtins.elem (pkgs.lib.getName pkg) [
|
||||||
"nvidia-settings"
|
"nvidia-settings"
|
||||||
"nvidia-x11"
|
"nvidia-x11"
|
||||||
"nordvpn"
|
"nordvpn"
|
||||||
"hplip"
|
"hplip"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [
|
swapDevices = [
|
||||||
{
|
{
|
||||||
|
@ -9,12 +9,12 @@
|
|||||||
../../modules/nixos/greetd.nix
|
../../modules/nixos/greetd.nix
|
||||||
../../modules/nixos/audio.nix
|
../../modules/nixos/audio.nix
|
||||||
|
|
||||||
# Apps + services
|
# Apps + services
|
||||||
../../modules/nixos/nordvpn.nix
|
../../modules/nixos/nordvpn.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
modules.bluetooth.enable = true;
|
modules.bluetooth.enable = true;
|
||||||
modules.nordvpn.enable = true;
|
modules.nordvpn.enable = true;
|
||||||
modules.nvidia.enable = true;
|
modules.nvidia.enable = true;
|
||||||
modules.audio.enable = true;
|
modules.audio.enable = true;
|
||||||
modules.fingerprint-fix = {
|
modules.fingerprint-fix = {
|
||||||
@ -38,7 +38,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
udev.extraRules = ''
|
udev.extraRules = ''
|
||||||
SUBSYSTEM=="backlight", KERNEL=="intel_backlight", MODE="0666", RUN+="${pkgs.coreutils}/bin/chmod a+w /sys/class/backlight/%k/brightness"
|
SUBSYSTEM=="backlight", KERNEL=="intel_backlight", MODE="0666", RUN+="${pkgs.coreutils}/bin/chmod a+w /sys/class/backlight/%k/brightness"
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -28,19 +28,19 @@ let
|
|||||||
dontBuild = true;
|
dontBuild = true;
|
||||||
|
|
||||||
unpackPhase = ''
|
unpackPhase = ''
|
||||||
runHook preUnpack
|
runHook preUnpack
|
||||||
dpkg --extract $src .
|
dpkg --extract $src .
|
||||||
runHook postUnpack
|
runHook postUnpack
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
mv usr/* $out/
|
mv usr/* $out/
|
||||||
mv var/ $out/
|
mv var/ $out/
|
||||||
mv etc/ $out/
|
mv etc/ $out/
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
nordVPNfhs = pkgs.buildFHSEnvChroot {
|
nordVPNfhs = pkgs.buildFHSEnvChroot {
|
||||||
@ -63,11 +63,11 @@ let
|
|||||||
};
|
};
|
||||||
|
|
||||||
preScript = pkgs.writeShellScript "nordvpn-start" ''
|
preScript = pkgs.writeShellScript "nordvpn-start" ''
|
||||||
mkdir -m 700 -p /var/lib/nordvpn;
|
mkdir -m 700 -p /var/lib/nordvpn;
|
||||||
if [ -z "$(ls -A /var/lib/nordvpn)" ]; then
|
if [ -z "$(ls -A /var/lib/nordvpn)" ]; then
|
||||||
cp -r ${nordVPNBase}/var/lib/nordvpn/* /var/lib/nordvpn;
|
cp -r ${nordVPNBase}/var/lib/nordvpn/* /var/lib/nordvpn;
|
||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
in
|
in
|
||||||
pkgs.stdenv.mkDerivation rec {
|
pkgs.stdenv.mkDerivation rec {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
@ -77,14 +77,14 @@ pkgs.stdenv.mkDerivation rec {
|
|||||||
dontBuild = true;
|
dontBuild = true;
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
mkdir -p $out/bin $out/share
|
mkdir -p $out/bin $out/share
|
||||||
ln -s ${nordVPNBase}/bin/nordvpn $out/bin
|
ln -s ${nordVPNBase}/bin/nordvpn $out/bin
|
||||||
ln -s ${nordVPNfhs}/bin/nordvpnd $out/bin
|
ln -s ${nordVPNfhs}/bin/nordvpnd $out/bin
|
||||||
ln -s ${nordVPNBase}/share/* $out/share/
|
ln -s ${nordVPNBase}/share/* $out/share/
|
||||||
ln -s ${nordVPNBase}/var $out/
|
ln -s ${nordVPNBase}/var $out/
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "CLI client for NordVPN";
|
description = "CLI client for NordVPN";
|
||||||
|
@ -1,5 +1,32 @@
|
|||||||
{ config, pkgs, lib, inputs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
generate-colors =
|
||||||
|
colors: with colors; ''
|
||||||
|
$base00: #${base00};
|
||||||
|
$base01: #${base01};
|
||||||
|
$base02: #${base02};
|
||||||
|
$base03: #${base03};
|
||||||
|
$base04: #${base04};
|
||||||
|
$base05: #${base05};
|
||||||
|
$base06: #${base06};
|
||||||
|
$base07: #${base07};
|
||||||
|
$base08: #${base08};
|
||||||
|
$base09: #${base09};
|
||||||
|
$base0A: #${base0A};
|
||||||
|
$base0B: #${base0B};
|
||||||
|
$base0C: #${base0C};
|
||||||
|
$base0D: #${base0D};
|
||||||
|
$base0E: #${base0E};
|
||||||
|
$base0F: #${base0F};
|
||||||
|
'';
|
||||||
|
in
|
||||||
{
|
{
|
||||||
options.modules.ags = {
|
options.modules.ags = {
|
||||||
enable = lib.mkEnableOption "Aylur's GTK Shell with optional Stylix support";
|
enable = lib.mkEnableOption "Aylur's GTK Shell with optional Stylix support";
|
||||||
@ -11,43 +38,29 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf config.modules.ags.enable {
|
config = lib.mkIf config.modules.ags.enable {
|
||||||
programs.ags = {
|
programs.ags = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraPackages = if config.modules.ags.full then
|
extraPackages =
|
||||||
with inputs.ags.packages.${pkgs.system};
|
if config.modules.ags.full then
|
||||||
[
|
with inputs.ags.packages.${pkgs.system};
|
||||||
apps
|
[
|
||||||
battery
|
apps
|
||||||
bluetooth
|
battery
|
||||||
greet
|
bluetooth
|
||||||
hyprland
|
greet
|
||||||
mpris
|
hyprland
|
||||||
network
|
mpris
|
||||||
notifd
|
network
|
||||||
powerprofiles
|
notifd
|
||||||
tray
|
powerprofiles
|
||||||
wireplumber
|
tray
|
||||||
] else [];
|
wireplumber
|
||||||
};
|
]
|
||||||
|
else
|
||||||
|
[ ];
|
||||||
|
};
|
||||||
|
|
||||||
home.file.".config/theme_colors.scss".text = if config.modules.stylix.enable
|
home.file.".config/theme_colors.scss".text =
|
||||||
then with config.lib.stylix.colors; ''
|
if config.modules.stylix.enable then generate-colors config.lib.stylix.colors else null;
|
||||||
$base00: #${base00};
|
|
||||||
$base01: #${base01};
|
|
||||||
$base02: #${base02};
|
|
||||||
$base03: #${base03};
|
|
||||||
$base04: #${base04};
|
|
||||||
$base05: #${base05};
|
|
||||||
$base06: #${base06};
|
|
||||||
$base07: #${base07};
|
|
||||||
$base08: #${base08};
|
|
||||||
$base09: #${base09};
|
|
||||||
$base0A: #${base0A};
|
|
||||||
$base0B: #${base0B};
|
|
||||||
$base0C: #${base0C};
|
|
||||||
$base0D: #${base0D};
|
|
||||||
$base0E: #${base0E};
|
|
||||||
$base0F: #${base0F};
|
|
||||||
'' else null;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,35 +1,35 @@
|
|||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
inputs,
|
inputs,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
options.modules.apple-style.enable = lib.mkEnableOption "Enable Apple fonts and emojis";
|
options.modules.apple-style.enable = lib.mkEnableOption "Enable Apple fonts and emojis";
|
||||||
|
|
||||||
config = lib.mkIf (config.modules.apple-style.enable && config.modules.stylix.enable) {
|
config = lib.mkIf (config.modules.apple-style.enable && config.modules.stylix.enable) {
|
||||||
stylix.fonts = {
|
stylix.fonts = {
|
||||||
serif = {
|
serif = {
|
||||||
package = inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd;
|
package = inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd;
|
||||||
name = "SFProDisplay Nerd Font";
|
name = "SFProDisplay Nerd Font";
|
||||||
};
|
};
|
||||||
|
|
||||||
sansSerif = {
|
sansSerif = {
|
||||||
package = inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd;
|
package = inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd;
|
||||||
name = "SFProText Nerd Font";
|
name = "SFProText Nerd Font";
|
||||||
};
|
};
|
||||||
|
|
||||||
monospace = {
|
monospace = {
|
||||||
package = inputs.apple-fonts.packages.${pkgs.system}.sf-mono-nerd;
|
package = inputs.apple-fonts.packages.${pkgs.system}.sf-mono-nerd;
|
||||||
name = "SFMono Nerd Font";
|
name = "SFMono Nerd Font";
|
||||||
};
|
};
|
||||||
|
|
||||||
emoji = {
|
emoji = {
|
||||||
package = inputs.apple-emoji.packages.${pkgs.system}.apple-emoji-nix;
|
package = inputs.apple-emoji.packages.${pkgs.system}.apple-emoji-nix;
|
||||||
name = "Apple Color Emoji";
|
name = "Apple Color Emoji";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -6,39 +6,40 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (pkgs.lib) optionalAttrs;
|
inherit (pkgs.lib) optionalAttrs;
|
||||||
|
|
||||||
home-manager = "${pkgs.home-manager}/bin/home-manager";
|
home-manager = "${pkgs.home-manager}/bin/home-manager";
|
||||||
grep = lib.getExe' pkgs.toybox "grep";
|
grep = lib.getExe' pkgs.toybox "grep";
|
||||||
head = lib.getExe' pkgs.toybox "head";
|
head = lib.getExe' pkgs.toybox "head";
|
||||||
find = lib.getExe' pkgs.toybox "find";
|
find = lib.getExe' pkgs.toybox "find";
|
||||||
|
|
||||||
find-generation = ''
|
find-generation = ''
|
||||||
for line in $(${home-manager} generations | ${grep} -o '/.*')
|
for line in $(${home-manager} generations | ${grep} -o '/.*')
|
||||||
do
|
do
|
||||||
res=$(${find} $line | ${grep} specialisation | ${head} -1)
|
res=$(${find} $line | ${grep} specialisation | ${head} -1)
|
||||||
output=$?
|
output=$?
|
||||||
|
|
||||||
if [[ $output -eq 0 ]] && [[ $res != "" ]]; then
|
if [[ $output -eq 0 ]] && [[ $res != "" ]]; then
|
||||||
echo $res
|
echo $res
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
switch-theme = theme: "$(${find-generation})/${theme}/activate";
|
switch-theme = theme: "$(${find-generation})/${theme}/activate";
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options.modules.darkman = {
|
options.modules.darkman = {
|
||||||
enable = lib.mkEnableOption "Darkman service and integration";
|
enable = lib.mkEnableOption "Darkman service and integration";
|
||||||
customLightModeScript = lib.mkOption {
|
customLightModeScript = lib.mkOption {
|
||||||
type = lib.types.nullOr lib.types.str;
|
type = lib.types.nullOr lib.types.str;
|
||||||
default = null;
|
default = null;
|
||||||
description = "Path to custom light mode script";
|
description = "Path to custom light mode script";
|
||||||
};
|
};
|
||||||
|
|
||||||
customDarkModeScript = lib.mkOption {
|
customDarkModeScript = lib.mkOption {
|
||||||
type = lib.types.nullOr lib.types.str;
|
type = lib.types.nullOr lib.types.str;
|
||||||
default = null;
|
default = null;
|
||||||
description = "Path to custom dark mode script";
|
description = "Path to custom dark mode script";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -46,17 +47,21 @@ in {
|
|||||||
config = lib.mkIf config.modules.darkman.enable {
|
config = lib.mkIf config.modules.darkman.enable {
|
||||||
services.darkman = {
|
services.darkman = {
|
||||||
enable = true;
|
enable = true;
|
||||||
darkModeScripts = optionalAttrs (config.modules.darkman.customDarkModeScript != null) {
|
darkModeScripts =
|
||||||
custom = config.modules.darkman.customDarkModeScript;
|
optionalAttrs (config.modules.darkman.customDarkModeScript != null) {
|
||||||
} // optionalAttrs (config.modules.stylix.enable) {
|
custom = config.modules.darkman.customDarkModeScript;
|
||||||
stylix = switch-theme "dark";
|
}
|
||||||
};
|
// optionalAttrs (config.modules.stylix.enable) {
|
||||||
|
stylix = switch-theme "dark";
|
||||||
|
};
|
||||||
|
|
||||||
lightModeScripts = optionalAttrs (config.modules.darkman.customLightModeScript != null) {
|
lightModeScripts =
|
||||||
custom = config.modules.darkman.customLightModeScript;
|
optionalAttrs (config.modules.darkman.customLightModeScript != null) {
|
||||||
} // optionalAttrs (config.modules.stylix.enable) {
|
custom = config.modules.darkman.customLightModeScript;
|
||||||
stylix = switch-theme "light";
|
}
|
||||||
};
|
// optionalAttrs (config.modules.stylix.enable) {
|
||||||
|
stylix = switch-theme "light";
|
||||||
|
};
|
||||||
|
|
||||||
settings.usegeoclue = true;
|
settings.usegeoclue = true;
|
||||||
};
|
};
|
||||||
|
@ -1,62 +1,62 @@
|
|||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
inputs,
|
inputs,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
options.modules.stylix = {
|
options.modules.stylix = {
|
||||||
enable = lib.mkEnableOption "Whether to enable Stylix, a theme manager for NixOS";
|
enable = lib.mkEnableOption "Whether to enable Stylix, a theme manager for NixOS";
|
||||||
setupCursors = lib.mkOption {
|
setupCursors = lib.mkOption {
|
||||||
type = lib.types.bool;
|
type = lib.types.bool;
|
||||||
default = true;
|
default = true;
|
||||||
description = "Whether to setup cursors by default";
|
description = "Whether to setup cursors by default";
|
||||||
};
|
};
|
||||||
|
|
||||||
lightWallpaper = lib.mkOption {
|
lightWallpaper = lib.mkOption {
|
||||||
type = lib.types.path;
|
type = lib.types.path;
|
||||||
description = "Path to light theme desktop wallpaper";
|
description = "Path to light theme desktop wallpaper";
|
||||||
};
|
};
|
||||||
|
|
||||||
darkWallpaper = lib.mkOption {
|
darkWallpaper = lib.mkOption {
|
||||||
type = lib.types.path;
|
type = lib.types.path;
|
||||||
description = "Path to dark theme desktop wallpaper";
|
description = "Path to dark theme desktop wallpaper";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
inputs.stylix.homeManagerModules.stylix
|
inputs.stylix.homeManagerModules.stylix
|
||||||
];
|
];
|
||||||
|
|
||||||
config = lib.mkIf config.modules.stylix.enable {
|
|
||||||
stylix = {
|
|
||||||
enable = true;
|
|
||||||
polarity = lib.mkDefault "light";
|
|
||||||
|
|
||||||
image = lib.mkDefault config.modules.stylix.lightWallpaper;
|
|
||||||
base16Scheme = lib.mkDefault "${pkgs.base16-schemes}/share/themes/atelier-cave.yaml";
|
|
||||||
|
|
||||||
cursor = lib.mkIf config.modules.stylix.setupCursors {
|
config = lib.mkIf config.modules.stylix.enable {
|
||||||
name = "Bibata-Modern-Classic";
|
stylix = {
|
||||||
package = pkgs.bibata-cursors;
|
enable = true;
|
||||||
size = 24;
|
polarity = lib.mkDefault "light";
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
specialisation = {
|
image = lib.mkDefault config.modules.stylix.lightWallpaper;
|
||||||
light.configuration.stylix = {
|
base16Scheme = lib.mkDefault "${pkgs.base16-schemes}/share/themes/atelier-cave.yaml";
|
||||||
polarity = "light";
|
|
||||||
image = config.modules.stylix.lightWallpaper;
|
|
||||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/atelier-cave-light.yaml";
|
|
||||||
};
|
|
||||||
|
|
||||||
dark.configuration.stylix = {
|
cursor = lib.mkIf config.modules.stylix.setupCursors {
|
||||||
polarity = "dark";
|
name = "Bibata-Modern-Classic";
|
||||||
image = config.modules.stylix.darkWallpaper;
|
package = pkgs.bibata-cursors;
|
||||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/atelier-cave.yaml";
|
size = 24;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
specialisation = {
|
||||||
|
light.configuration.stylix = {
|
||||||
|
polarity = "light";
|
||||||
|
image = config.modules.stylix.lightWallpaper;
|
||||||
|
base16Scheme = "${pkgs.base16-schemes}/share/themes/atelier-cave-light.yaml";
|
||||||
|
};
|
||||||
|
|
||||||
|
dark.configuration.stylix = {
|
||||||
|
polarity = "dark";
|
||||||
|
image = config.modules.stylix.darkWallpaper;
|
||||||
|
base16Scheme = "${pkgs.base16-schemes}/share/themes/atelier-cave.yaml";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@ -7,8 +7,9 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
module = inputs.fingerprint-sensor.nixosModules."06cb-009a-fingerprint-sensor";
|
module = inputs.fingerprint-sensor.nixosModules."06cb-009a-fingerprint-sensor";
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options.modules.fingerprint-fix = {
|
options.modules.fingerprint-fix = {
|
||||||
enable = lib.mkEnableOption "Enable support for fingerprint for P51S-like ThinkPads.";
|
enable = lib.mkEnableOption "Enable support for fingerprint for P51S-like ThinkPads.";
|
||||||
calibDataFile = lib.mkOption {
|
calibDataFile = lib.mkOption {
|
||||||
@ -41,7 +42,7 @@ in {
|
|||||||
calib-data-file = config.modules.fingerprint-fix.calibDataFile;
|
calib-data-file = config.modules.fingerprint-fix.calibDataFile;
|
||||||
};
|
};
|
||||||
|
|
||||||
security.pam.services.su.fprintAuth = true;
|
security.pam.services.su.fprintAuth = true;
|
||||||
security.pam.services.sudo.fprintAuth = true;
|
security.pam.services.sudo.fprintAuth = true;
|
||||||
security.pam.services.login.fprintAuth = true;
|
security.pam.services.login.fprintAuth = true;
|
||||||
security.pam.services.greetd.fprintAuth = true;
|
security.pam.services.greetd.fprintAuth = true;
|
||||||
|
@ -4,21 +4,21 @@
|
|||||||
options.modules.nvidia.enable = lib.mkEnableOption "Enable NVIDIA kernel and modprobe configurations.";
|
options.modules.nvidia.enable = lib.mkEnableOption "Enable NVIDIA kernel and modprobe configurations.";
|
||||||
|
|
||||||
config = lib.mkIf config.modules.nvidia.enable {
|
config = lib.mkIf config.modules.nvidia.enable {
|
||||||
hardware.graphics = {
|
hardware.graphics = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
services.xserver.videoDrivers = ["nvidia"];
|
services.xserver.videoDrivers = [ "nvidia" ];
|
||||||
|
|
||||||
hardware.nvidia = {
|
hardware.nvidia = {
|
||||||
modesetting.enable = true;
|
modesetting.enable = true;
|
||||||
powerManagement.enable = false;
|
powerManagement.enable = false;
|
||||||
powerManagement.finegrained = false;
|
powerManagement.finegrained = false;
|
||||||
|
|
||||||
open = false;
|
|
||||||
nvidiaSettings = true;
|
|
||||||
|
|
||||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
open = false;
|
||||||
};
|
nvidiaSettings = true;
|
||||||
};
|
|
||||||
|
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@ -11,25 +11,25 @@ in
|
|||||||
inherit username homeDirectory;
|
inherit username homeDirectory;
|
||||||
|
|
||||||
packages = import ./packages.nix { inherit pkgs inputs; };
|
packages = import ./packages.nix { inherit pkgs inputs; };
|
||||||
sessionVariables = {
|
sessionVariables = {
|
||||||
NIXOS_OZONE_WL = "1";
|
NIXOS_OZONE_WL = "1";
|
||||||
TZ = "Europe/Warsaw";
|
TZ = "Europe/Warsaw";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
nixpkgs.config = {
|
nixpkgs.config = {
|
||||||
permittedInsecurePackages = [
|
permittedInsecurePackages = [
|
||||||
"fluffychat-linux-1.26.0"
|
"fluffychat-linux-1.26.0"
|
||||||
"olm-3.2.16"
|
"olm-3.2.16"
|
||||||
];
|
];
|
||||||
|
|
||||||
allowUnfreePredicate =
|
allowUnfreePredicate =
|
||||||
pkg:
|
pkg:
|
||||||
builtins.elem (pkgs.lib.getName pkg) [
|
builtins.elem (pkgs.lib.getName pkg) [
|
||||||
"davinci-resolve"
|
"davinci-resolve"
|
||||||
"anydesk"
|
"anydesk"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
home.stateVersion = "24.11";
|
home.stateVersion = "24.11";
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
webcopy = ''
|
webcopy = ''
|
||||||
set -l domain (string trim $argv)
|
set -l domain (string trim $argv)
|
||||||
get --recursive \
|
wget --recursive \
|
||||||
--level 5 \
|
--level 5 \
|
||||||
--no-clobber \
|
--no-clobber \
|
||||||
--page-requisites \
|
--page-requisites \
|
||||||
@ -15,18 +15,18 @@
|
|||||||
|
|
||||||
venv = ''
|
venv = ''
|
||||||
if [ -d .venv ]; then
|
if [ -d .venv ]; then
|
||||||
source .venv/bin/activate.fish
|
source .venv/bin/activate.fish
|
||||||
else
|
else
|
||||||
python -m venv .venv
|
python -m venv .venv
|
||||||
source .venv/bin/activate.fish
|
source .venv/bin/activate.fish
|
||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
|
|
||||||
thunderbird = ''
|
thunderbird = ''
|
||||||
if pgrep -x birdtray > /dev/null
|
if pgrep -x birdtray > /dev/null
|
||||||
birdtray -s
|
birdtray -s
|
||||||
else
|
else
|
||||||
birdtray &
|
birdtray &
|
||||||
end
|
end
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
@ -4,13 +4,13 @@
|
|||||||
imports = [
|
imports = [
|
||||||
# DE + style
|
# DE + style
|
||||||
../../modules/desktop-environments/hyprland.nix
|
../../modules/desktop-environments/hyprland.nix
|
||||||
../../modules/home-manager/apple-style.nix
|
../../modules/home-manager/apple-style.nix
|
||||||
../../modules/home-manager/stylix.nix
|
../../modules/home-manager/stylix.nix
|
||||||
|
|
||||||
# Utilities + apps
|
# Utilities + apps
|
||||||
../../modules/home-manager/darkman.nix
|
../../modules/home-manager/darkman.nix
|
||||||
../../modules/home-manager/fish.nix
|
../../modules/home-manager/fish.nix
|
||||||
../../modules/home-manager/ags.nix
|
../../modules/home-manager/ags.nix
|
||||||
|
|
||||||
# Home Manager modules
|
# Home Manager modules
|
||||||
inputs.ags.homeManagerModules.default
|
inputs.ags.homeManagerModules.default
|
||||||
@ -41,21 +41,21 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
modules.stylix = {
|
modules.stylix = {
|
||||||
enable = true;
|
enable = true;
|
||||||
lightWallpaper = ./wallpapers/light.jpg;
|
lightWallpaper = ./wallpapers/light.jpg;
|
||||||
darkWallpaper = ./wallpapers/dark.jpg;
|
darkWallpaper = ./wallpapers/dark.jpg;
|
||||||
};
|
};
|
||||||
|
|
||||||
stylix.targets.firefox.profileNames = ["default"];
|
stylix.targets.firefox.profileNames = [ "default" ];
|
||||||
|
|
||||||
modules.ags = {
|
modules.ags = {
|
||||||
enable = true;
|
enable = true;
|
||||||
full = true;
|
full = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
modules.darkman.enable = true;
|
modules.darkman.enable = true;
|
||||||
modules.apple-style.enable = true;
|
modules.apple-style.enable = true;
|
||||||
|
|
||||||
modules.fish = {
|
modules.fish = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@ -76,12 +76,12 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.vscode = {
|
programs.vscode = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.vscodium;
|
package = pkgs.vscodium;
|
||||||
profiles.default.extensions = with pkgs.vscode-extensions; [
|
profiles.default.extensions = with pkgs.vscode-extensions; [
|
||||||
rust-lang.rust-analyzer
|
rust-lang.rust-analyzer
|
||||||
bbenoist.nix
|
bbenoist.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,21 +1,22 @@
|
|||||||
{ pkgs, inputs, ... }:
|
{ pkgs, inputs, ... }:
|
||||||
|
|
||||||
with pkgs; [
|
with pkgs;
|
||||||
|
[
|
||||||
(python3.withPackages (
|
(python3.withPackages (
|
||||||
py: with py; [
|
py: with py; [
|
||||||
pywayland
|
pywayland
|
||||||
]
|
]
|
||||||
))
|
))
|
||||||
|
|
||||||
(birdtray.overrideAttrs (_: {
|
(birdtray.overrideAttrs (_: {
|
||||||
cmakeFlags = [ "-DOPT_THUNDERBIRD_CMDLINE=${thunderbird}/bin/thunderbird" ];
|
cmakeFlags = [ "-DOPT_THUNDERBIRD_CMDLINE=${thunderbird}/bin/thunderbird" ];
|
||||||
}))
|
}))
|
||||||
|
|
||||||
jq
|
jq
|
||||||
starship
|
starship
|
||||||
firefox
|
firefox
|
||||||
fluffychat
|
fluffychat
|
||||||
home-manager
|
home-manager
|
||||||
thunderbird-bin
|
thunderbird-bin
|
||||||
youtube-music
|
youtube-music
|
||||||
libreoffice-qt6-fresh
|
libreoffice-qt6-fresh
|
||||||
@ -31,5 +32,5 @@ with pkgs; [
|
|||||||
bitwarden-desktop
|
bitwarden-desktop
|
||||||
davinci-resolve
|
davinci-resolve
|
||||||
mpv
|
mpv
|
||||||
sshfs
|
sshfs
|
||||||
]
|
]
|
||||||
|
@ -1,22 +1,25 @@
|
|||||||
{ pkgs, android-nixpkgs }:
|
{ pkgs, android-nixpkgs }:
|
||||||
|
|
||||||
let
|
let
|
||||||
android = pkgs.callPackage android-nixpkgs {};
|
android = pkgs.callPackage android-nixpkgs { };
|
||||||
androidSdk = android.sdk (sdkPkgs: with sdkPkgs; [
|
androidSdk = android.sdk (
|
||||||
cmdline-tools-latest
|
sdkPkgs: with sdkPkgs; [
|
||||||
build-tools-35-0-0
|
cmdline-tools-latest
|
||||||
platform-tools
|
build-tools-35-0-0
|
||||||
platforms-android-35
|
platform-tools
|
||||||
]);
|
platforms-android-35
|
||||||
|
]
|
||||||
|
);
|
||||||
|
|
||||||
in pkgs.mkShell rec {
|
in
|
||||||
|
pkgs.mkShell rec {
|
||||||
buildInputs = with pkgs; [
|
buildInputs = with pkgs; [
|
||||||
androidSdk
|
androidSdk
|
||||||
jdk17
|
jdk17
|
||||||
glibc
|
glibc
|
||||||
];
|
];
|
||||||
|
|
||||||
ANDROID_JAVA_HOME = "${pkgs.jdk17.home}";
|
ANDROID_JAVA_HOME = "${pkgs.jdk17.home}";
|
||||||
ANDROID_SDK_ROOT = "${androidSdk}/share/android-sdk";
|
ANDROID_SDK_ROOT = "${androidSdk}/share/android-sdk";
|
||||||
GRADLE_OPTS = "-Dorg.gradle.project.android.aapt2FromMavenOverride=${ANDROID_SDK_ROOT}/build-tools/35.0.0/aapt2";
|
GRADLE_OPTS = "-Dorg.gradle.project.android.aapt2FromMavenOverride=${ANDROID_SDK_ROOT}/build-tools/35.0.0/aapt2";
|
||||||
}
|
}
|
||||||
|
@ -45,7 +45,7 @@ pkgs.mkShell {
|
|||||||
nativeBuildInputs = [ pkgs.libsForQt5.qt5.wrapQtAppsHook ];
|
nativeBuildInputs = [ pkgs.libsForQt5.qt5.wrapQtAppsHook ];
|
||||||
|
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
wrapQtAppsHook
|
wrapQtAppsHook
|
||||||
mkdir -p $HOME/DDT4ALL
|
mkdir -p $HOME/DDT4ALL
|
||||||
cp -r $src/bin/* $HOME/DDT4ALL
|
cp -r $src/bin/* $HOME/DDT4ALL
|
||||||
|
|
||||||
|
@ -3,15 +3,15 @@
|
|||||||
pkgs.mkShell {
|
pkgs.mkShell {
|
||||||
buildInputs = with pkgs; [
|
buildInputs = with pkgs; [
|
||||||
rustc
|
rustc
|
||||||
cargo
|
cargo
|
||||||
rustfmt
|
rustfmt
|
||||||
rust-analyzer
|
rust-analyzer
|
||||||
clippy
|
clippy
|
||||||
gcc
|
gcc
|
||||||
libpqxx
|
libpqxx
|
||||||
postgresql
|
postgresql
|
||||||
];
|
];
|
||||||
|
|
||||||
RUST_BACKTRACE = 1;
|
RUST_BACKTRACE = 1;
|
||||||
RUSTC_BOOTSTRAP = true;
|
RUSTC_BOOTSTRAP = true;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user