diff --git a/flake.lock b/flake.lock index cabf4cf..6391c4b 100644 --- a/flake.lock +++ b/flake.lock @@ -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": { diff --git a/hosts/monolith/factorio-server.nix b/hosts/monolith/factorio-server.nix index 8ed0324..9648de3 100644 --- a/hosts/monolith/factorio-server.nix +++ b/hosts/monolith/factorio-server.nix @@ -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" ]; diff --git a/user/cursor/cursor.desktop b/user/cursor/cursor.desktop new file mode 100644 index 0000000..04ec82e --- /dev/null +++ b/user/cursor/cursor.desktop @@ -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 diff --git a/user/cursor/default.nix b/user/cursor/default.nix new file mode 100644 index 0000000..46d32c7 --- /dev/null +++ b/user/cursor/default.nix @@ -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"; + }; + }; +} diff --git a/user/cursor/keybindings.json b/user/cursor/keybindings.json new file mode 100644 index 0000000..0637a08 --- /dev/null +++ b/user/cursor/keybindings.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/user/cursor/settings.json b/user/cursor/settings.json new file mode 100644 index 0000000..08b5adb --- /dev/null +++ b/user/cursor/settings.json @@ -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 +} \ No newline at end of file diff --git a/user/firefox.nix b/user/firefox.nix index 4b69ad2..7d8d65f 100644 --- a/user/firefox.nix +++ b/user/firefox.nix @@ -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; - } - ''; + ""; }; }; }; diff --git a/user/gnome.nix b/user/gnome.nix index 74951c7..e52c3b2 100644 --- a/user/gnome.nix +++ b/user/gnome.nix @@ -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; diff --git a/user/home-manager.nix b/user/home-manager.nix new file mode 100644 index 0000000..9c8452a --- /dev/null +++ b/user/home-manager.nix @@ -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" ]; + }; + }; +} diff --git a/user/home.nix b/user/home.nix index c384c60..31e3871 100644 --- a/user/home.nix +++ b/user/home.nix @@ -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 diff --git a/user/rm-target.nix b/user/rm-target.nix new file mode 100644 index 0000000..93c6058 --- /dev/null +++ b/user/rm-target.nix @@ -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" ]; + }; + }; +} diff --git a/user/variables.nix b/user/variables.nix index 84823d3..7d56cf3 100644 --- a/user/variables.nix +++ b/user/variables.nix @@ -115,7 +115,7 @@ rec { }; dmenu = "bmenu"; - desktop = "sway"; + desktop = "gnome"; browser = "firefox"; editor = "kakoune"; }