Compare commits

...

24 commits
sops ... main

Author SHA1 Message Date
lelgenio 7eeb06fbb7
firefox: remove buggy config 2025-04-08 21:43:04 -03:00
Leonardo Eugênio 310f3b192c
qt: cleanup theme config 2025-04-08 21:42:08 -03:00
lelgenio 2d2c3d2007
kak: fix multiline-edit extension 2025-04-05 14:02:55 -03:00
Leonardo Eugênio caffa85ba0
ranger: disable preview scripts and vcs support, making it very fast 2025-04-04 21:15:12 -03:00
Leonardo Eugênio 1054e831d8
update 2025-04-04 21:15:12 -03:00
lelgenio 9239cbef77
kakoune: add json and yaml formatter 2025-04-02 17:11:01 -03:00
Leonardo Eugênio 921413f545
firefox: update userchrome 2025-03-28 20:22:34 -03:00
Leonardo Eugênio 0a0b8f9e61
gammastep: extract config 2025-03-27 21:09:14 -03:00
Leonardo Eugênio 8cae611cd5
home: add automatic home-manager cleanup service 2025-03-27 19:34:08 -03:00
Leonardo Eugênio 0f61393bf3
refactor: move rm-target service and timer to separate file 2025-03-27 19:34:07 -03:00
Leonardo Eugênio 4ebfaca007
factorio: update backup script filename to fix syncthing integration 2025-03-27 19:34:07 -03:00
Leonardo Eugênio a432569595
update 2025-03-27 19:34:07 -03:00
Leonardo Eugênio 0f161863fc
firefox: remove header styling 2025-03-27 19:34:07 -03:00
Leonardo Eugênio 3c7da418df
gnome: install menulibre 2025-03-27 19:34:07 -03:00
Leonardo Eugênio d2654ca5bc
phantom: add travel counter goof 2025-03-21 23:23:52 -03:00
lelgenio ca9e0d8653
double-rainbow: use nix-ld 2025-03-20 16:40:47 -03:00
Leonardo Eugênio 35ba974c1b
system: install aditional appimage support 2025-03-19 11:48:00 -03:00
Leonardo Eugênio c51d9ee3f1
system: add nix-ld 2025-03-19 11:47:36 -03:00
Leonardo Eugênio 7d15904e7c
git: sign commits 2025-03-15 01:03:19 -03:00
Leonardo Eugênio cef96416d8 factorio: 2.0.32 -> 2.0.39 2025-03-12 23:29:31 -03:00
Leonardo Eugênio 6e5eebe3c1 amdgpu: limit fan speed 2025-03-12 11:40:54 -03:00
Leonardo Eugênio fac1976c9c phantom: fix mastodon data mount 2025-03-12 11:40:54 -03:00
Leonardo Eugênio 36ec5ef63c git: update config 2025-03-12 11:40:54 -03:00
Leonardo Eugênio 5a5b544caa swaylock: fix cache miss 2025-03-12 11:40:54 -03:00
28 changed files with 265 additions and 159 deletions

View file

@ -73,6 +73,22 @@
"url": "https://git.lelgenio.com/lelgenio/catboy-spinner" "url": "https://git.lelgenio.com/lelgenio/catboy-spinner"
} }
}, },
"contador-da-viagem": {
"flake": false,
"locked": {
"lastModified": 1742610036,
"narHash": "sha256-sY1iheemazmIVJAnoFtut6cN7HX/C5OMDY54UrmCoqE=",
"ref": "refs/heads/main",
"rev": "efe5ac4a16de7f78824ac89dc987ef635afa5267",
"revCount": 4,
"type": "git",
"url": "https://git.lelgenio.com/lelgenio/contador-da-viagem"
},
"original": {
"type": "git",
"url": "https://git.lelgenio.com/lelgenio/contador-da-viagem"
}
},
"crane": { "crane": {
"inputs": { "inputs": {
"flake-compat": "flake-compat", "flake-compat": "flake-compat",
@ -209,11 +225,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1740485968, "lastModified": 1741786315,
"narHash": "sha256-WK+PZHbfDjLyveXAxpnrfagiFgZWaTJglewBWniTn2Y=", "narHash": "sha256-VT65AE2syHVj6v/DGB496bqBnu1PXrrzwlw07/Zpllc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "19c1140419c4f1cdf88ad4c1cfb6605597628940", "rev": "0d8c6ad4a43906d14abd5c60e0ffe7b587b213de",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -227,11 +243,11 @@
"nixpkgs": "nixpkgs_3" "nixpkgs": "nixpkgs_3"
}, },
"locked": { "locked": {
"lastModified": 1739502527, "lastModified": 1742179690,
"narHash": "sha256-KMLNOCWmqdDeAZV5O1ccRmVqRutDcy4IONJin3lzd0Q=", "narHash": "sha256-s/q3OWRe5m7kwDcAs1BhJEj6aHc5bsBxRnLP7DM77xE=",
"owner": "lelgenio", "owner": "lelgenio",
"repo": "dzgui-nix", "repo": "dzgui-nix",
"rev": "06fcea9445b5a005b40469a69f57f2147398bc94", "rev": "a6d68720c932ac26d549b24f17c776bd2aeb73b4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -440,11 +456,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1739757849, "lastModified": 1742655702,
"narHash": "sha256-Gs076ot1YuAAsYVcyidLKUMIc4ooOaRGO0PqTY7sBzA=", "narHash": "sha256-jbqlw4sPArFtNtA1s3kLg7/A4fzP4GLk9bGbtUJg0JQ=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "9d3d080aec2a35e05a15cedd281c2384767c2cfe", "rev": "0948aeedc296f964140d9429223c7e4a0702a1ff",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -481,11 +497,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1740281615, "lastModified": 1742701275,
"narHash": "sha256-dZWcbAQ1sF8oVv+zjSKkPVY0ebwENQEkz5vc6muXbKY=", "narHash": "sha256-AulwPVrS9859t+eJ61v24wH/nfBEIDSXYxlRo3fL/SA=",
"owner": "Mic92", "owner": "Mic92",
"repo": "nix-index-database", "repo": "nix-index-database",
"rev": "465792533d03e6bb9dc849d58ab9d5e31fac9023", "rev": "36dc43cb50d5d20f90a28d53abb33a32b0a2aae6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -504,11 +520,11 @@
"nixpkgs-24_11": "nixpkgs-24_11" "nixpkgs-24_11": "nixpkgs-24_11"
}, },
"locked": { "locked": {
"lastModified": 1740437053, "lastModified": 1742413977,
"narHash": "sha256-exPTta4qI1ka9sk+jPcLogGffJ1OVXnAsTRqpeAXeNw=", "narHash": "sha256-NkhM9GVu3HL+MiXtGD0TjuPCQ4GFVJPBZ8KyI2cFDGU=",
"owner": "simple-nixos-mailserver", "owner": "simple-nixos-mailserver",
"repo": "nixos-mailserver", "repo": "nixos-mailserver",
"rev": "c8ec4d5e432f5df4838eacd39c11828d23ce66ec", "rev": "b4fbffe79c00f19be94b86b4144ff67541613659",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@ -551,11 +567,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1740560979, "lastModified": 1743095683,
"narHash": "sha256-Vr3Qi346M+8CjedtbyUevIGDZW8LcA1fTG0ugPY/Hic=", "narHash": "sha256-gWd4urRoLRe8GLVC/3rYRae1h+xfQzt09xOfb0PaHSk=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "5135c59491985879812717f4c9fea69604e7f26f", "rev": "5e5402ecbcb27af32284d4a62553c019a3a49ea6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -612,11 +628,11 @@
}, },
"nixpkgs_5": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1740603184, "lastModified": 1742937945,
"narHash": "sha256-t+VaahjQAWyA+Ctn2idyo1yxRIYpaDxMgHkgCNiMJa4=", "narHash": "sha256-lWc+79eZRyvHp/SqMhHTMzZVhpxkRvthsP1Qx6UCq0E=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "f44bd8ca21e026135061a0a57dcf3d0775b67a49", "rev": "d02d88f8de5b882ccdde0465d8fa2db3aa1169f7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -709,6 +725,7 @@
"inputs": { "inputs": {
"agenix": "agenix", "agenix": "agenix",
"catboy-spinner": "catboy-spinner", "catboy-spinner": "catboy-spinner",
"contador-da-viagem": "contador-da-viagem",
"demoji": "demoji", "demoji": "demoji",
"dhist": "dhist", "dhist": "dhist",
"disko": "disko", "disko": "disko",
@ -783,11 +800,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1741043164, "lastModified": 1742700801,
"narHash": "sha256-9lfmSZLz6eq9Ygr6cCmvQiiBEaPb54pUBcjvbEMPORc=", "narHash": "sha256-ZGlpUDsuBdeZeTNgoMv+aw0ByXT2J3wkYw9kJwkAS4M=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "3f2412536eeece783f0d0ad3861417f347219f4d", "rev": "67566fe68a8bed2a7b1175fdfb0697ed22ae8852",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -943,11 +960,11 @@
"nixpkgs": "nixpkgs_6" "nixpkgs": "nixpkgs_6"
}, },
"locked": { "locked": {
"lastModified": 1739829690, "lastModified": 1743081648,
"narHash": "sha256-mL1szCeIsjh6Khn3nH2cYtwO5YXG6gBiTw1A30iGeDU=", "narHash": "sha256-WRAylyYptt6OX5eCEBWyTwOEqEtD6zt33rlUkr6u3cE=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "3d0579f5cc93436052d94b73925b48973a104204", "rev": "29a3d7b768c70addce17af0869f6e2bd8f5be4b7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -958,11 +975,11 @@
}, },
"vpsadminos": { "vpsadminos": {
"locked": { "locked": {
"lastModified": 1740754923, "lastModified": 1743047409,
"narHash": "sha256-o7Qo5kkjVgBL9CVqNJKnkcDbRkpD0UAp82G/mJ086Xw=", "narHash": "sha256-WTUW2GZqHknVwEbzF/TeX2eg52414gfl6hXloDDwEsQ=",
"owner": "vpsfreecz", "owner": "vpsfreecz",
"repo": "vpsadminos", "repo": "vpsadminos",
"rev": "3a9df8fbe84b680ad0a38ec85e8e9c8a4f095ca3", "rev": "cf9324b9ff855172bd9de8aa3b8215071c4a0c6f",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -56,6 +56,10 @@
wl-crosshair.url = "github:lelgenio/wl-crosshair"; wl-crosshair.url = "github:lelgenio/wl-crosshair";
warthunder-leak-counter.url = "git+https://git.lelgenio.com/lelgenio/warthunder-leak-counter"; warthunder-leak-counter.url = "git+https://git.lelgenio.com/lelgenio/warthunder-leak-counter";
made-you-look.url = "git+https://git.lelgenio.com/lelgenio/made-you-look"; made-you-look.url = "git+https://git.lelgenio.com/lelgenio/made-you-look";
contador-da-viagem = {
url = "git+https://git.lelgenio.com/lelgenio/contador-da-viagem";
flake = false;
};
catboy-spinner = { catboy-spinner = {
url = "git+https://git.lelgenio.com/lelgenio/catboy-spinner"; url = "git+https://git.lelgenio.com/lelgenio/catboy-spinner";
flake = false; flake = false;

View file

@ -19,6 +19,8 @@ in
{ {
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
my.nix-ld.enable = true;
boot.initrd.availableKernelModules = [ boot.initrd.availableKernelModules = [
"xhci_pci" "xhci_pci"
"ahci" "ahci"

View file

@ -18,7 +18,7 @@ in
systemd.services.amd-fan-control = { systemd.services.amd-fan-control = {
script = '' script = ''
${lib.getExe pkgs.amd-fan-control} /sys/class/drm/card1/device 60 85 ${lib.getExe pkgs.amd-fan-control} /sys/class/drm/card1/device 60 90 0 80
''; '';
serviceConfig = { serviceConfig = {
Restart = "always"; Restart = "always";

View file

@ -42,6 +42,7 @@ in
}; };
my.gaming.enable = true; my.gaming.enable = true;
my.nix-ld.enable = true;
boot.extraModulePackages = with config.boot.kernelPackages; [ zenpower ]; boot.extraModulePackages = with config.boot.kernelPackages; [ zenpower ];

View file

@ -23,11 +23,12 @@
systemd.services.factorio-backup-save = { systemd.services.factorio-backup-save = {
description = "Backup factorio saves"; description = "Backup factorio saves";
script = '' script = ''
FILENAME="space-age-$(date --iso=seconds | tr ':' '_').zip"
${lib.getExe pkgs.rsync} \ ${lib.getExe pkgs.rsync} \
-av \ -av \
--chown=lelgenio \ --chown=lelgenio \
/var/lib/factorio/saves/default.zip \ /var/lib/factorio/saves/default.zip \
~lelgenio/Documentos/GameSaves/factorio_saves/space-age-$(date --iso=seconds).zip ~lelgenio/Documentos/GameSaves/factorio_saves/$FILENAME
''; '';
serviceConfig.Type = "oneshot"; serviceConfig.Type = "oneshot";
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];

View file

@ -43,4 +43,9 @@
forceSSL = true; forceSSL = true;
root = inputs.hello-fonts; root = inputs.hello-fonts;
}; };
services.nginx.virtualHosts."contador-da-viagem.lelgenio.com" = {
enableACME = true;
forceSSL = true;
root = inputs.contador-da-viagem;
};
} }

View file

@ -5,7 +5,7 @@
options = [ "nofail" ]; options = [ "nofail" ];
}; };
fileSystems."/var/lib/mastodon" = { fileSystems."/var/lib/mastodon" = {
device = "172.16.130.7:/nas/5749/mastodon"; device = "172.16.131.19:/nas/5749/mastodon";
fsType = "nfs"; fsType = "nfs";
options = [ "nofail" ]; options = [ "nofail" ];
}; };

View file

@ -1,10 +1,10 @@
{ factorio-headless, pkgs }: { factorio-headless, pkgs }:
factorio-headless.overrideAttrs (_: rec { factorio-headless.overrideAttrs (_: rec {
version = "2.0.32"; version = "2.0.39";
src = pkgs.fetchurl { src = pkgs.fetchurl {
name = "factorio_headless_x64-${version}.tar.xz"; name = "factorio_headless_x64-${version}.tar.xz";
url = "https://www.factorio.com/get-download/${version}/headless/linux64"; url = "https://www.factorio.com/get-download/${version}/headless/linux64";
hash = "sha256-KmECrkLcxej+kjvWi80yalaeNZEqzeEhMB5dTS2FZBc="; hash = "sha256-D4o9DkN5e1/02LhdfDNLCVo/B9mqf4Cx6H+Uk5qT3zQ=";
}; };
}) })

View file

@ -39,10 +39,31 @@ if [ -z "$TEMP_MAX" ];then
bail "No maximum temperature provided" bail "No maximum temperature provided"
fi fi
PWM_MIN=0 PWM_MIN_PCT="$4"
PWM_MAX=255 PWM_MAX_PCT="$5"
if [ -z "$PWM_MIN_PCT" ];then
bail "No minimum fan speed % not provided"
fi
if [ -z "$PWM_MAX_PCT" ];then
bail "No maximum fan speed % not provided"
fi
PWM_MIN="$(( $PWM_MIN_PCT * 255 / 100))"
PWM_MAX="$(( $PWM_MAX_PCT * 255 / 100))"
echo "Running..." >&2 echo "Running..." >&2
echo "TEMP_MIN=$TEMP_MIN°C"
echo "TEMP_MAX=$TEMP_MAX°C"
echo "FAN_MIN=$PWM_MIN_PCT%"
echo "FAN_MAX=$PWM_MAX_PCT%"
echo 1 > "$HWMON/pwm1_enable"
PREV=0
while true; do while true; do
TEMPERATURE_RAW=$(cat "$TEMP_INPUT") TEMPERATURE_RAW=$(cat "$TEMP_INPUT")
TEMPERATURE="$(( $TEMPERATURE_RAW / 1000 ))" TEMPERATURE="$(( $TEMPERATURE_RAW / 1000 ))"
@ -55,7 +76,11 @@ while true; do
PWM=$PWM_MIN PWM=$PWM_MIN
fi fi
echo 1 > "$HWMON/pwm1_enable" AVG="$(( ($PWM * 20 + $PREV * 80) / 100 ))"
echo "$PWM" > "$HWMON/pwm1"
echo "$AVG"
echo "$AVG" > "$HWMON/pwm1"
PREV="$AVG"
sleep .1s sleep .1s
done done

View file

@ -17,6 +17,7 @@
./locale.nix ./locale.nix
./users.nix ./users.nix
./containers.nix ./containers.nix
./nix-ld.nix
./network.nix ./network.nix
../settings ../settings
]; ];

View file

@ -9,6 +9,7 @@
config = lib.mkIf config.my.containers.enable { config = lib.mkIf config.my.containers.enable {
services.flatpak.enable = true; services.flatpak.enable = true;
programs.appimage.enable = true;
virtualisation.docker = { virtualisation.docker = {
enable = true; enable = true;

21
system/nix-ld.nix Normal file
View file

@ -0,0 +1,21 @@
{
pkgs,
lib,
config,
...
}:
{
options.my.nix-ld.enable = lib.mkEnableOption { };
config = lib.mkIf (config.my.nix-ld.enable) {
programs.nix-ld = {
enable = true;
libraries =
with pkgs;
# run appimages + linux games natively
[ fuse ]
++ (appimageTools.defaultFhsEnvArgs.multiPkgs pkgs)
++ (appimageTools.defaultFhsEnvArgs.targetPkgs pkgs);
};
};
}

View file

@ -1,6 +1,7 @@
{ lib, ... }: { lib, ... }:
{ {
options.my = { options.my = {
nix-ld.enable = lib.mkEnableOption { };
android.enable = lib.mkEnableOption { }; android.enable = lib.mkEnableOption { };
media-packages.enable = lib.mkEnableOption { }; media-packages.enable = lib.mkEnableOption { };
containers.enable = lib.mkEnableOption { }; containers.enable = lib.mkEnableOption { };

View file

@ -2,15 +2,22 @@
config, config,
pkgs, pkgs,
lib, lib,
font,
... ...
}: }:
let let
inherit (config.my) desktop browser; inherit (config.my) desktop;
inherit (config.my.theme) color;
bugfixedFirefox = pkgs.firefox-devedition-unwrapped // { bugfixedFirefox = pkgs.firefox-devedition-unwrapped // {
requireSigning = false; requireSigning = false;
allowAddonSideload = true; allowAddonSideload = true;
}; };
swayCustomization = ''
#titlebar { display: none !important; }
#TabsToolbar { display: none !important; }
#sidebar-header { display: none !important; }
'';
in in
{ {
config = { config = {
@ -107,8 +114,6 @@ in
"media.ffmpeg.vaapi.enabled" = true; "media.ffmpeg.vaapi.enabled" = true;
"media.ffvpx.enabled" = true; "media.ffvpx.enabled" = true;
"gfx.webrender.all" = true;
# Enable installing non signed extensions # Enable installing non signed extensions
"extensions.langpacks.signatures.required" = false; "extensions.langpacks.signatures.required" = false;
"xpinstall.signatures.required" = false; "xpinstall.signatures.required" = false;
@ -119,52 +124,15 @@ in
"devtools.chrome.enabled" = true; "devtools.chrome.enabled" = true;
"devtools.debugger.remote-enabled" = true; "devtools.debugger.remote-enabled" = true;
}; };
userChrome = userChrome = ''
if desktop == "sway" then ${lib.optionalString (desktop == "sway") swayCustomization}
''
#titlebar { display: none !important; }
#TabsToolbar { display: none !important; }
#sidebar-header { display: none !important; }
''
else
''
/* Element | chrome://browser/content/browser.xhtml */
#navigator-toolbox { #sidebar-main {
display: grid; background-color: ${color.bg};
grid-template-columns: 1fr 50px;
overflow: hidden;
} }
/* Element | chrome://browser/content/browser.xhtml */ #tabbrowser-tabbox {
outline-width: 0 !important;
#nav-bar {
flex: 1;
width: 100%;
grid-column: 1 / 3;
grid-row: 1;
z-index: 0;
padding-right: 29px !important;
}
/* Element | chrome://browser/content/browser.xhtml */
.toolbar-items {
display: none;
}
/* Element | chrome://browser/content/browser.xhtml */
#TabsToolbar {
max-width: 50px;
}
/* Element | chrome://browser/content/browser.xhtml */
#titlebar {
max-width: 50px;
grid-area: 1 / 2;
z-index: 10;
} }
''; '';
}; };
@ -175,9 +143,5 @@ in
exec firefox exec firefox
''; '';
}; };
home.sessionVariables = {
MOZ_ENABLE_WAYLAND = "1";
MOZ_DISABLE_RDD_SANDBOX = "1";
};
}; };
} }

View file

@ -16,17 +16,46 @@ in
user = { user = {
name = username; name = username;
email = mail.personal.user; email = mail.personal.user;
signingkey = "2F8F21CE8721456B";
}; };
init.defaultBranch = "main"; init.defaultBranch = "main";
commit.verbose = true; core = {
push.autoSetupRemote = true; fsmonitor = true;
untrackedCache = true;
};
commit = {
verbose = true;
gpgsign = true;
};
fetch = {
prune = true;
pruneTags = true;
all = true;
};
push = {
autoSetupRemote = true;
default = "simple";
followTags = true;
};
pull.rebase = true; pull.rebase = true;
merge.conflictStyle = "diff3"; tag.sort = "version:refname";
rerere.enabled = true; merge.conflictStyle = "zdiff3";
rerere = {
enabled = true;
autoupdate = true;
};
branch.sort = "-committerdate";
diff = {
algorithm = "histogram";
colorMoved = "plain";
mnemonicPrefix = true;
renames = true;
};
rebase = { rebase = {
abbreviateCommands = true; abbreviateCommands = true;
autoSquash = true; autoSquash = true;
autoStash = true; autoStash = true;
updateRefs = true;
}; };
pager = { pager = {
log = "${pkgs._diffr}/bin/_diffr | ${pkgs.kak-pager}/bin/kak-pager"; log = "${pkgs._diffr}/bin/_diffr | ${pkgs.kak-pager}/bin/kak-pager";

View file

@ -35,6 +35,7 @@ lib.mkIf (config.my.desktop == "gnome") {
amberol amberol
pitivi pitivi
keepassxc keepassxc
menulibre
libsForQt5.qt5ct libsForQt5.qt5ct
libsForQt5.qtstyleplugin-kvantum libsForQt5.qtstyleplugin-kvantum

28
user/home-manager.nix Normal file
View file

@ -0,0 +1,28 @@
{ pkgs, lib, ... }:
{
programs.home-manager.enable = true;
systemd.user.services.home-manager-expire = {
Unit = {
Description = "Remove old home-manager generations";
};
Service = {
Type = "oneshot";
ExecStart = pkgs.writeShellScript "home-manager-expire" ''
${lib.getExe pkgs.home-manager} expire-generations 7d
'';
};
};
systemd.user.timers.home-manager-expire = {
Unit = {
Description = "Remove old home-manager generations";
};
Timer = {
OnCalendar = "daily";
Unit = "home-manager-expire.service";
};
Install = {
WantedBy = [ "timers.target" ];
};
};
}

View file

@ -9,6 +9,7 @@
{ {
imports = [ imports = [
./dummy.nix ./dummy.nix
./home-manager.nix
./waybar ./waybar
./helix.nix ./helix.nix
./kakoune ./kakoune
@ -44,6 +45,7 @@
inputs.nix-index-database.hmModules.nix-index inputs.nix-index-database.hmModules.nix-index
../settings ../settings
./powerplay-led-idle.nix ./powerplay-led-idle.nix
./rm-target.nix
]; ];
my = import ./variables.nix // { my = import ./variables.nix // {
@ -57,8 +59,6 @@
home.username = "lelgenio"; home.username = "lelgenio";
home.homeDirectory = "/home/lelgenio"; home.homeDirectory = "/home/lelgenio";
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
home.packages = with pkgs; [ home.packages = with pkgs; [
terminal terminal
@ -169,30 +169,6 @@
exec nicotine exec nicotine
''; '';
systemd.user.services.rm-target = {
Unit = {
Description = "Remove directories named 'target'";
};
Service = {
Type = "oneshot";
ExecStart = pkgs.writeShellScript "rm-target" ''
sudo ${pkgs.fd}/bin/fd -td -u '^\.?target$' "$HOME" -x rm -vrf --
'';
};
};
systemd.user.timers.rm-target = {
Unit = {
Description = "Remove directories named 'target'";
};
Timer = {
OnCalendar = "weekly";
Unit = "rm-target.service";
};
Install = {
WantedBy = [ "timers.target" ];
};
};
# This value determines the Home Manager release that your # This value determines the Home Manager release that your
# configuration is compatible with. This helps avoid breakage # configuration is compatible with. This helps avoid breakage
# when a new Home Manager release introduces backwards # when a new Home Manager release introduces backwards

View file

@ -82,6 +82,9 @@ in
rev = "1cc6baeb14b773916eb9209469aa77b3cfa67a0a"; rev = "1cc6baeb14b773916eb9209469aa77b3cfa67a0a";
sha256 = "sha256-3PLxG9UtT0MMSibvTviXQIgTH3rApZ3WSbNCEH3c7HE="; sha256 = "sha256-3PLxG9UtT0MMSibvTviXQIgTH3rApZ3WSbNCEH3c7HE=";
}; };
buildInputs = with pkgs; [
python3Minimal
];
}) })
]; ];
extraConfig = extraConfig =

View file

@ -15,6 +15,14 @@ hook global WinSetOption filetype=nix %{
set buffer formatcmd 'nixfmt' set buffer formatcmd 'nixfmt'
} }
hook global BufCreate .*\.json %{
set buffer formatcmd 'prettier --parser json'
}
hook global BufCreate .*\.ya?ml %{
set buffer formatcmd 'prettier --parser yaml'
}
hook global BufCreate .*\.html %{ hook global BufCreate .*\.html %{
set buffer formatcmd 'prettier --parser html' set buffer formatcmd 'prettier --parser html'
} }

View file

@ -27,10 +27,10 @@ set confirm_on_delete multiple
# Use non-default path for file preview script? # Use non-default path for file preview script?
# ranger ships with scope.sh, a script that calls external programs (see # ranger ships with scope.sh, a script that calls external programs (see
# README.md for dependencies) to preview images, archives, etc. # README.md for dependencies) to preview images, archives, etc.
set preview_script ~/.config/ranger/scope.sh # set preview_script ~/.config/ranger/scope.sh
# Use the external preview script or display simple plain text or image previews? # Use the external preview script or display simple plain text or image previews?
set use_preview_script true # set use_preview_script true
# Automatically count files in the directory, even before entering them? # Automatically count files in the directory, even before entering them?
set automatically_count_files true set automatically_count_files true
@ -40,7 +40,7 @@ set automatically_count_files true
set open_all_images true set open_all_images true
# Be aware of version control systems and display information. # Be aware of version control systems and display information.
set vcs_aware true set vcs_aware false
# State of the four backends git, hg, bzr, svn. The possible states are # State of the four backends git, hg, bzr, svn. The possible states are
# disabled, local (only show local info), enabled (show local and remote # disabled, local (only show local info), enabled (show local and remote

26
user/rm-target.nix Normal file
View file

@ -0,0 +1,26 @@
{ pkgs, lib, ... }:
{
systemd.user.services.rm-target = {
Unit = {
Description = "Remove directories named 'target'";
};
Service = {
Type = "oneshot";
ExecStart = pkgs.writeShellScript "rm-target" ''
sudo ${pkgs.fd}/bin/fd -td -u '^\.?target$' "$HOME" -x rm -vrf --
'';
};
};
systemd.user.timers.rm-target = {
Unit = {
Description = "Remove directories named 'target'";
};
Timer = {
OnCalendar = "weekly";
Unit = "rm-target.service";
};
Install = {
WantedBy = [ "timers.target" ];
};
};
}

View file

@ -20,6 +20,7 @@ in
./swayidle.nix ./swayidle.nix
./swaylock.nix ./swaylock.nix
./theme.nix ./theme.nix
./gammastep.nix
]; ];
options.my.sway.enable = lib.mkEnableOption { }; options.my.sway.enable = lib.mkEnableOption { };
@ -32,6 +33,7 @@ in
my.mpd.enable = true; my.mpd.enable = true;
my.zathura.enable = true; my.zathura.enable = true;
my.waybar.enable = true; my.waybar.enable = true;
my.gammastep.enable = true;
wayland.windowManager.sway = { wayland.windowManager.sway = {
enable = true; enable = true;
@ -115,10 +117,6 @@ in
exec_always systemctl --user restart waybar.service exec_always systemctl --user restart waybar.service
''; '';
}; };
services.gammastep = {
enable = true;
provider = "geoclue2";
};
services.kdeconnect = { services.kdeconnect = {
enable = true; enable = true;

19
user/sway/gammastep.nix Normal file
View file

@ -0,0 +1,19 @@
{ config, lib, ... }:
let
cfg = config.my.gammastep;
in
{
options.my.gammastep.enable = lib.mkEnableOption { };
config = lib.mkIf cfg.enable {
services.gammastep = {
enable = true;
dawnTime = "6:00-7:45";
duskTime = "18:35-20:15";
temperature = {
day = 6500;
night = 4500;
};
};
};
}

View file

@ -9,7 +9,7 @@ in
options.my.swaylock.enable = lib.mkEnableOption { }; options.my.swaylock.enable = lib.mkEnableOption { };
config.programs.swaylock.settings = lib.mkIf cfg.enable { config.programs.swaylock.settings = lib.mkIf cfg.enable {
image = toString theme.background; image = theme.backgroundPath;
font = font.interface; font = font.interface;
font-size = font.size.medium; font-size = font.size.medium;
indicator-thickness = 20; indicator-thickness = 20;

View file

@ -55,7 +55,7 @@ lib.mkIf (desktop == "sway") {
qt = { qt = {
enable = true; enable = true;
platformTheme.name = "gtk3"; platformTheme.name = "gtk3";
style.name = "qt5ct"; style.name = "kvantum";
}; };
dconf.settings = { dconf.settings = {
@ -70,28 +70,6 @@ lib.mkIf (desktop == "sway") {
}; };
}; };
# fonts.fontconfig.enable = true;
xdg.configFile = {
"qt5ct/qt5ct.conf".text = ''
[Appearance]
# color_scheme_path=/nix/store/f07mk0vrm47jxw3y5v99hxncy0w4vcyq-qt5ct-1.5/share/qt5ct/colors/darker.conf
custom_palette=false
icon_theme=${icon_theme}
standard_dialogs=default
style=kvantum-dark
# [Fonts]
# fixed=@Variant(\0\0\0@\0\0\0\x1c\0H\0\x61\0\x63\0k\0 \0N\0\x65\0r\0\x64\0 \0\x46\0o\0n\0t@(\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10)
# general=@Variant(\0\0\0@\0\0\0\x1e\0L\0i\0\x62\0\x65\0r\0\x61\0t\0i\0o\0n\0 \0S\0\x61\0n\0s@(\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10)
'';
"kdedefaults/kdeglobals".text = ''
[General]
ColorScheme=BreezeDark
[Icons]
Theme=${icon_theme}
'';
};
services.xsettingsd = { services.xsettingsd = {
enable = true; enable = true;
settings = { settings = {
@ -105,11 +83,6 @@ lib.mkIf (desktop == "sway") {
}; };
home.packages = with pkgs; [ home.packages = with pkgs; [
libsForQt5.qt5ct
libsForQt5.qtstyleplugin-kvantum
qt6Packages.qt6ct
qt6Packages.qtstyleplugin-kvantum
pkgs.bibata-cursors pkgs.bibata-cursors
pkgs.orchis_theme_compact pkgs.orchis_theme_compact
pkgs.papirus_red pkgs.papirus_red

View file

@ -28,6 +28,7 @@ let
cursor_theme = "Bibata-Modern-Classic"; cursor_theme = "Bibata-Modern-Classic";
background = ./backgrounds/nixos-dark-pattern.png; background = ./backgrounds/nixos-dark-pattern.png;
backgroundPath = "~/.local/share/backgrounds/nixos-dark-pattern.png";
opacity = 95; opacity = 95;
opacityHex = "ee"; opacityHex = "ee";
color = { color = {
@ -59,6 +60,7 @@ let
cursor_theme = "Bibata-Modern-Classic"; cursor_theme = "Bibata-Modern-Classic";
background = ./backgrounds/nixos-light-pattern.png; background = ./backgrounds/nixos-light-pattern.png;
backgroundPath = "~/.local/share/backgrounds/nixos-light-pattern.png";
opacity = 95; opacity = 95;
opacityHex = "ee"; opacityHex = "ee";
color = { color = {