Compare commits

...

8 commits

Author SHA1 Message Date
Leonardo Eugênio a899d5b159
home: add automatic home-manager cleanup service 2025-03-27 01:07:27 -03:00
Leonardo Eugênio e649117615
refactor: move rm-target service and timer to separate file 2025-03-26 21:58:24 -03:00
Leonardo Eugênio fd3c642a10
factorio: update backup script filename to fix syncthing integration 2025-03-23 16:30:08 -03:00
Leonardo Eugênio dc6f25fd23
update 2025-03-21 00:55:53 -03:00
Leonardo Eugênio ccc5a10793
firefox: remove header styling 2025-03-20 20:51:33 -03:00
Leonardo Eugênio 5e3260a57e
cursor: add cursor editor 2025-03-20 20:36:48 -03:00
Leonardo Eugênio 07b509750b
gnome: install menulibre 2025-03-20 20:31:27 -03:00
lelgenio c361efb1eb
variables: switch to gnome 2025-03-20 16:59:12 -03:00
12 changed files with 162 additions and 99 deletions

View file

@ -209,11 +209,11 @@
]
},
"locked": {
"lastModified": 1740485968,
"narHash": "sha256-WK+PZHbfDjLyveXAxpnrfagiFgZWaTJglewBWniTn2Y=",
"lastModified": 1741786315,
"narHash": "sha256-VT65AE2syHVj6v/DGB496bqBnu1PXrrzwlw07/Zpllc=",
"owner": "nix-community",
"repo": "disko",
"rev": "19c1140419c4f1cdf88ad4c1cfb6605597628940",
"rev": "0d8c6ad4a43906d14abd5c60e0ffe7b587b213de",
"type": "github"
},
"original": {
@ -227,11 +227,11 @@
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1739502527,
"narHash": "sha256-KMLNOCWmqdDeAZV5O1ccRmVqRutDcy4IONJin3lzd0Q=",
"lastModified": 1742179690,
"narHash": "sha256-s/q3OWRe5m7kwDcAs1BhJEj6aHc5bsBxRnLP7DM77xE=",
"owner": "lelgenio",
"repo": "dzgui-nix",
"rev": "06fcea9445b5a005b40469a69f57f2147398bc94",
"rev": "a6d68720c932ac26d549b24f17c776bd2aeb73b4",
"type": "github"
},
"original": {
@ -440,11 +440,11 @@
]
},
"locked": {
"lastModified": 1739757849,
"narHash": "sha256-Gs076ot1YuAAsYVcyidLKUMIc4ooOaRGO0PqTY7sBzA=",
"lastModified": 1742234739,
"narHash": "sha256-zFL6zsf/5OztR1NSNQF33dvS1fL/BzVUjabZq4qrtY4=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "9d3d080aec2a35e05a15cedd281c2384767c2cfe",
"rev": "f6af7280a3390e65c2ad8fd059cdc303426cbd59",
"type": "github"
},
"original": {
@ -481,11 +481,11 @@
]
},
"locked": {
"lastModified": 1740281615,
"narHash": "sha256-dZWcbAQ1sF8oVv+zjSKkPVY0ebwENQEkz5vc6muXbKY=",
"lastModified": 1742174123,
"narHash": "sha256-pDNzMoR6m1ZSJToZQ6XDTLVSdzIzmFl1b8Pc3f7iV6Y=",
"owner": "Mic92",
"repo": "nix-index-database",
"rev": "465792533d03e6bb9dc849d58ab9d5e31fac9023",
"rev": "2cfb4e1ca32f59dd2811d7a6dd5d4d1225f0955c",
"type": "github"
},
"original": {
@ -504,11 +504,11 @@
"nixpkgs-24_11": "nixpkgs-24_11"
},
"locked": {
"lastModified": 1740437053,
"narHash": "sha256-exPTta4qI1ka9sk+jPcLogGffJ1OVXnAsTRqpeAXeNw=",
"lastModified": 1742413977,
"narHash": "sha256-NkhM9GVu3HL+MiXtGD0TjuPCQ4GFVJPBZ8KyI2cFDGU=",
"owner": "simple-nixos-mailserver",
"repo": "nixos-mailserver",
"rev": "c8ec4d5e432f5df4838eacd39c11828d23ce66ec",
"rev": "b4fbffe79c00f19be94b86b4144ff67541613659",
"type": "gitlab"
},
"original": {
@ -551,11 +551,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1740560979,
"narHash": "sha256-Vr3Qi346M+8CjedtbyUevIGDZW8LcA1fTG0ugPY/Hic=",
"lastModified": 1742422364,
"narHash": "sha256-mNqIplmEohk5jRkqYqG19GA8MbQ/D4gQSK0Mu4LvfRQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "5135c59491985879812717f4c9fea69604e7f26f",
"rev": "a84ebe20c6bc2ecbcfb000a50776219f48d134cc",
"type": "github"
},
"original": {
@ -612,11 +612,11 @@
},
"nixpkgs_5": {
"locked": {
"lastModified": 1740603184,
"narHash": "sha256-t+VaahjQAWyA+Ctn2idyo1yxRIYpaDxMgHkgCNiMJa4=",
"lastModified": 1742388435,
"narHash": "sha256-GheQGRNYAhHsvPxWVOhAmg9lZKkis22UPbEHlmZMthg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "f44bd8ca21e026135061a0a57dcf3d0775b67a49",
"rev": "b75693fb46bfaf09e662d09ec076c5a162efa9f6",
"type": "github"
},
"original": {
@ -783,11 +783,11 @@
]
},
"locked": {
"lastModified": 1741043164,
"narHash": "sha256-9lfmSZLz6eq9Ygr6cCmvQiiBEaPb54pUBcjvbEMPORc=",
"lastModified": 1742406979,
"narHash": "sha256-r0aq70/3bmfjTP+JZs4+XV5SgmCtk1BLU4CQPWGtA7o=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "3f2412536eeece783f0d0ad3861417f347219f4d",
"rev": "1770be8ad89e41f1ed5a60ce628dd10877cb3609",
"type": "github"
},
"original": {
@ -943,11 +943,11 @@
"nixpkgs": "nixpkgs_6"
},
"locked": {
"lastModified": 1739829690,
"narHash": "sha256-mL1szCeIsjh6Khn3nH2cYtwO5YXG6gBiTw1A30iGeDU=",
"lastModified": 1742370146,
"narHash": "sha256-XRE8hL4vKIQyVMDXykFh4ceo3KSpuJF3ts8GKwh5bIU=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "3d0579f5cc93436052d94b73925b48973a104204",
"rev": "adc195eef5da3606891cedf80c0d9ce2d3190808",
"type": "github"
},
"original": {
@ -958,11 +958,11 @@
},
"vpsadminos": {
"locked": {
"lastModified": 1740754923,
"narHash": "sha256-o7Qo5kkjVgBL9CVqNJKnkcDbRkpD0UAp82G/mJ086Xw=",
"lastModified": 1742222981,
"narHash": "sha256-EDhfWimpzUnpH5h/FQ3oYw/Kaq4Cx1E5nRofDQyI3aE=",
"owner": "vpsfreecz",
"repo": "vpsadminos",
"rev": "3a9df8fbe84b680ad0a38ec85e8e9c8a4f095ca3",
"rev": "14da38b9a49bf156e06f20ed02533a0549e6d487",
"type": "github"
},
"original": {

View file

@ -23,11 +23,12 @@
systemd.services.factorio-backup-save = {
description = "Backup factorio saves";
script = ''
FILENAME="space-age-$(date --iso=seconds | tr ':' '_').zip"
${lib.getExe pkgs.rsync} \
-av \
--chown=lelgenio \
/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";
wantedBy = [ "multi-user.target" ];

View file

@ -0,0 +1,15 @@
[Desktop Entry]
Name=Cursor
Exec=/home/lelgenio/.local/bin/cursor --enable-features=UseOzonePlatform --ozone-platform-hint=wayland %F
Path=/home/lelgenio/.local/bin
Icon=/home/lelgenio/.icons/cursor.png
Type=Application
Categories=Utility;Development;
StartupWMClass=Cursor
X-AppImage-Version=latest
Comment=Cursor is an AI-first coding environment.
MimeType=x-scheme-handler/cursor;
[Desktop Action new-empty-window]
Exec=/home/lelgenio/.local/bin/cursor --enable-features=UseOzonePlatformc --ozone-platform-hint --new-window %F

20
user/cursor/default.nix Normal file
View file

@ -0,0 +1,20 @@
{
pkgs,
lib,
...
}:
{
options.cursor = {
enable = lib.mkEnableOption { };
};
config = lib.mkIf config.cursor.enable {
home.file = {
"${config.home.homeDirectory}/.local/share/applications/cursor.desktop".source = ./cursor.desktop;
"${config.home.homeDirectory}/.config/Cusor/User/keybindings.json".source =
config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/projects/nixos-config/user/cursor/keybindings.json";
"${config.home.homeDirectory}/.config/Cursor/User/settings.json".source =
config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/projects/nixos-config/user/cursor/settings.json";
};
};
}

View file

@ -0,0 +1 @@
[]

34
user/cursor/settings.json Normal file
View file

@ -0,0 +1,34 @@
{
"terminal.integrated.sendKeybindingsToShell": true,
"window.titleBarStyle": "custom",
"workbench.preferredDarkColorTheme": "GitHub Dark",
"workbench.preferredLightColorTheme": "GitHub Light",
"window.autoDetectColorScheme": true,
"workbench.colorTheme": "GitHub Dark",
"git.autofetch": true,
"git.confirmSync": false,
"editor.suggest.snippetsPreventQuickSuggestions": false,
"update.mode": "none",
"intelephense.files.exclude": [
"**/.git/**",
"**/.svn/**",
"**/.hg/**",
"**/CVS/**",
"**/.DS_Store/**",
"**/node_modules/**",
"**/bower_components/**",
"**/vendor/**/{Tests,tests}/**",
"**/.history/**",
"**/vendor/**/vendor/**",
"**/.direnv/**"
],
"intelephense.format.braces": "k&r",
"window.commandCenter": 1,
"files.exclude": {
"**/.deps": true,
"**/.direnv": true
},
"diffEditor.renderSideBySide": false,
"laravel-pint.enable": true,
"editor.formatOnSave": true
}

View file

@ -127,46 +127,7 @@ in
#sidebar-header { display: none !important; }
''
else
''
/* Element | chrome://browser/content/browser.xhtml */
#navigator-toolbox {
display: grid;
grid-template-columns: 1fr 50px;
overflow: hidden;
}
/* Element | chrome://browser/content/browser.xhtml */
#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;
}
'';
"";
};
};
};

View file

@ -35,6 +35,7 @@ lib.mkIf (config.my.desktop == "gnome") {
amberol
pitivi
keepassxc
menulibre
libsForQt5.qt5ct
libsForQt5.qtstyleplugin-kvantum
@ -42,7 +43,7 @@ lib.mkIf (config.my.desktop == "gnome") {
qt6Packages.qtstyleplugin-kvantum
];
services.gpg-agent.pinentryPackage = pkgs.pinentry-gnome;
services.gpg-agent.pinentryPackage = lib.mkForce pkgs.pinentry-gnome3;
xdg.defaultApplications = {
enable = lib.mkForce false;

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 = [
./dummy.nix
./home-manager.nix
./waybar
./helix.nix
./kakoune
@ -44,6 +45,7 @@
inputs.nix-index-database.hmModules.nix-index
../settings
./powerplay-led-idle.nix
./rm-target.nix
];
my = import ./variables.nix // {
@ -57,8 +59,6 @@
home.username = "lelgenio";
home.homeDirectory = "/home/lelgenio";
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
home.packages = with pkgs; [
terminal
@ -169,30 +169,6 @@
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
# configuration is compatible with. This helps avoid breakage
# when a new Home Manager release introduces backwards

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

@ -115,7 +115,7 @@ rec {
};
dmenu = "bmenu";
desktop = "sway";
desktop = "gnome";
browser = "firefox";
editor = "kakoune";
}