7 Commits

Author SHA1 Message Date
df9cbc4fb3 attempt to fix home-manager standalone (not working) 2025-01-20 15:35:21 -05:00
a4b5e05f8f switch from geoclue to tzupdate for localtime since geoclue isn't working 2025-01-19 17:44:00 -05:00
83f548e95f fix: power button immediately shuts down pc 2025-01-19 20:07:12 +00:00
c66ca460c0 fix: desktop won't launch if xrandr fails 2025-01-19 20:06:33 +00:00
2b36140fbf flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/57733bd1dc81900e13438e5b4439239f1b29db0e' (2025-01-08)
  → 'github:lnl7/nix-darwin/87131f51f8256952d1a306b5521cedc2dc61aa08' (2025-01-18)
• Updated input 'disko':
    'github:nix-community/disko/b1a94497b1c27fe7f81e3e76990959f5051da18b' (2025-01-10)
  → 'github:nix-community/disko/bf0abfde48f469c256f2b0f481c6281ff04a5db2' (2025-01-16)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/fb3332f1796317224b4a2886815491fa9c63266f' (2025-01-11)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/3224752c71a5245e90cfae360e0dc5de98e2b53c' (2025-01-18)
• Updated input 'home-manager':
    'github:nix-community/home-manager/2532b500c3ed2b8940e831039dcec5a5ea093afc' (2025-01-10)
  → 'github:nix-community/home-manager/a0046af169ce7b1da503974e1b22c48ef4d71887' (2025-01-17)
• Updated input 'jujutsu':
    'github:martinvonz/jj/98724278c5f1344baf3b5c27396aa3e10decec8b' (2025-01-11)
  → 'github:martinvonz/jj/83d40d2c425fa2e050bdac8837b19e5beb3bef25' (2025-01-18)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2025-01-11)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2025-01-18)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/051d1b2dda3b2e81b38d82e2b691e5c2f4d335f4' (2024-12-23)
  → 'github:nix-community/nixos-generators/d002ce9b6e7eb467cd1c6bb9aef9c35d191b5453' (2025-01-16)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/0a31e8d833173ae63e43fd9dbff1ccf09c4f778c' (2024-12-22)
  → 'github:nix-community/nixpkgs.lib/1418bc28a52126761c02dd3d89b2d8ca0f521181' (2025-01-12)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/bffc22eb12172e6db3c5dde9e3e5628f8e3e7912' (2025-01-08)
  → 'github:nixos/nixpkgs/5df43628fdf08d642be8ba5b3625a6c70731c19c' (2025-01-16)
• Updated input 'nur':
    'github:nix-community/nur/82ecbe2706b9dc7a5f138bed1f7a933611085421' (2025-01-11)
  → 'github:nix-community/nur/62cdd681201843553ec740a85ccf2f0a6fca75c6' (2025-01-18)
• Updated input 'nur/nixpkgs':
    'github:nixos/nixpkgs/bffc22eb12172e6db3c5dde9e3e5628f8e3e7912' (2025-01-08)
  → 'github:nixos/nixpkgs/5df43628fdf08d642be8ba5b3625a6c70731c19c' (2025-01-16)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/68fc4c20f5803444277022c681785c5edd11916d' (2024-12-21)
  → 'github:kyazdani42/nvim-tree.lua/fca0b67c0b5a31727fb33addc4d9c100736a2894' (2025-01-17)
• Updated input 'tiny-inline-diagnostic-nvim-src':
    'github:rachartier/tiny-inline-diagnostic.nvim/6b40143750d7db53ae0fb2ef8a0bec8be009291b' (2025-01-10)
  → 'github:rachartier/tiny-inline-diagnostic.nvim/aaa6f0dd097f8ca2478cad259e61b7cb26ec0eb8' (2025-01-15)
2025-01-18 03:44:41 +00:00
66207830ba add backups for actual budget 2025-01-14 04:30:14 +00:00
0f7c15bf36 backup paperless and adjust restic bucket 2025-01-14 04:25:41 +00:00
10 changed files with 75 additions and 61 deletions

74
flake.lock generated
View File

@ -87,11 +87,11 @@
]
},
"locked": {
"lastModified": 1736370755,
"narHash": "sha256-iWcjToBpx4PUd74uqvIGAfqqVfyrvRLRauC/SxEKIF0=",
"lastModified": 1737162735,
"narHash": "sha256-5T+HkouTMGaRm0rh3kgD4Z1O7ONKfgjyoPQH5rSyreU=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "57733bd1dc81900e13438e5b4439239f1b29db0e",
"rev": "87131f51f8256952d1a306b5521cedc2dc61aa08",
"type": "github"
},
"original": {
@ -108,11 +108,11 @@
]
},
"locked": {
"lastModified": 1736526728,
"narHash": "sha256-vb/ldbBHRbfT9U7SoCYmxh+h+PHuFqGjCBO0bPXsze4=",
"lastModified": 1737038063,
"narHash": "sha256-rMEuiK69MDhjz1JgbaeQ9mBDXMJ2/P8vmOYRbFndXsk=",
"owner": "nix-community",
"repo": "disko",
"rev": "b1a94497b1c27fe7f81e3e76990959f5051da18b",
"rev": "bf0abfde48f469c256f2b0f481c6281ff04a5db2",
"type": "github"
},
"original": {
@ -145,11 +145,11 @@
]
},
"locked": {
"lastModified": 1736557032,
"narHash": "sha256-02UUHrfNiQTHlugXOQvUNId579aUdtQRZqCJz1DyQyA=",
"lastModified": 1737161595,
"narHash": "sha256-Txp3uh0KdB3+Pe6xihU0JWWe0LK8iXTUnZ8bOcKu3w0=",
"owner": "bandithedoge",
"repo": "nixpkgs-firefox-darwin",
"rev": "fb3332f1796317224b4a2886815491fa9c63266f",
"rev": "3224752c71a5245e90cfae360e0dc5de98e2b53c",
"type": "github"
},
"original": {
@ -307,11 +307,11 @@
]
},
"locked": {
"lastModified": 1736508663,
"narHash": "sha256-ZOaGwa+WnB7Zn3YXimqjmIugAnHePdXCmNu+AHkq808=",
"lastModified": 1737120639,
"narHash": "sha256-p5e/45V41YD3tMELuiNIoVCa25/w4nhOTm0B9MtdHFI=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "2532b500c3ed2b8940e831039dcec5a5ea093afc",
"rev": "a0046af169ce7b1da503974e1b22c48ef4d71887",
"type": "github"
},
"original": {
@ -330,11 +330,11 @@
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1736559623,
"narHash": "sha256-77oTScsUU1BZMytdrncoWFuOC0XdiYp8ZPSQjFHlHRc=",
"lastModified": 1737163288,
"narHash": "sha256-PROBXqOUzgqIG66S74P1nyg7MbNoQ01k3oF0IM7qpHY=",
"owner": "martinvonz",
"repo": "jj",
"rev": "98724278c5f1344baf3b5c27396aa3e10decec8b",
"rev": "83d40d2c425fa2e050bdac8837b19e5beb3bef25",
"type": "github"
},
"original": {
@ -409,7 +409,7 @@
"nextcloud-snappymail": {
"flake": false,
"locked": {
"lastModified": 1736566969,
"lastModified": 1737171597,
"narHash": "sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E=",
"type": "tarball",
"url": "https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz"
@ -442,11 +442,11 @@
},
"nixlib": {
"locked": {
"lastModified": 1734829460,
"narHash": "sha256-dPhc+f2wkmhMqMIfq+hColJdysgVxKP9ilZ5bR0NRZI=",
"lastModified": 1736643958,
"narHash": "sha256-tmpqTSWVRJVhpvfSN9KXBvKEXplrwKnSZNAoNPf/S/s=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "0a31e8d833173ae63e43fd9dbff1ccf09c4f778c",
"rev": "1418bc28a52126761c02dd3d89b2d8ca0f521181",
"type": "github"
},
"original": {
@ -463,11 +463,11 @@
]
},
"locked": {
"lastModified": 1734915500,
"narHash": "sha256-A7CTIQ8SW0hfbhKlwK+vSsu4pD+Oaelw3v6goX6go+U=",
"lastModified": 1737057290,
"narHash": "sha256-3Pe0yKlCc7EOeq1X/aJVDH0CtNL+tIBm49vpepwL1MQ=",
"owner": "nix-community",
"repo": "nixos-generators",
"rev": "051d1b2dda3b2e81b38d82e2b691e5c2f4d335f4",
"rev": "d002ce9b6e7eb467cd1c6bb9aef9c35d191b5453",
"type": "github"
},
"original": {
@ -478,11 +478,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1736344531,
"narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=",
"lastModified": 1737062831,
"narHash": "sha256-Tbk1MZbtV2s5aG+iM99U8FqwxU/YNArMcWAv6clcsBc=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912",
"rev": "5df43628fdf08d642be8ba5b3625a6c70731c19c",
"type": "github"
},
"original": {
@ -526,11 +526,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1736344531,
"narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=",
"lastModified": 1737062831,
"narHash": "sha256-Tbk1MZbtV2s5aG+iM99U8FqwxU/YNArMcWAv6clcsBc=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912",
"rev": "5df43628fdf08d642be8ba5b3625a6c70731c19c",
"type": "github"
},
"original": {
@ -547,11 +547,11 @@
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1736566372,
"narHash": "sha256-ldM2t3gLtp8nLa7kGjJafyUgdYeosldCAvkSyUrvpPs=",
"lastModified": 1737170882,
"narHash": "sha256-Km700i1Eg72bFsU2X2ZgH4qEgx6SrdZFJURJGTSQH2M=",
"owner": "nix-community",
"repo": "nur",
"rev": "82ecbe2706b9dc7a5f138bed1f7a933611085421",
"rev": "62cdd681201843553ec740a85ccf2f0a6fca75c6",
"type": "github"
},
"original": {
@ -596,11 +596,11 @@
"nvim-tree-lua-src": {
"flake": false,
"locked": {
"lastModified": 1734820548,
"narHash": "sha256-4PmP31vYPH9xw4AjV5rDSKvcvZGTnIaPfR4Bwc0lAiA=",
"lastModified": 1737156486,
"narHash": "sha256-b8YOOIYML9aKy4Y7S+iLKIaTfCqrxK1wB/ZaeFRCUmo=",
"owner": "kyazdani42",
"repo": "nvim-tree.lua",
"rev": "68fc4c20f5803444277022c681785c5edd11916d",
"rev": "fca0b67c0b5a31727fb33addc4d9c100736a2894",
"type": "github"
},
"original": {
@ -842,11 +842,11 @@
"tiny-inline-diagnostic-nvim-src": {
"flake": false,
"locked": {
"lastModified": 1736547413,
"narHash": "sha256-s5L0oMPap/OWMu+vwpAVpwuTnxOPdLg9arxrV0kjxPs=",
"lastModified": 1736959343,
"narHash": "sha256-11+Z54shcy5oRevfTOu3dt5DtXhnYaH9zvktH6Lvxjs=",
"owner": "rachartier",
"repo": "tiny-inline-diagnostic.nvim",
"rev": "6b40143750d7db53ae0fb2ef8a0bec8be009291b",
"rev": "aaa6f0dd097f8ca2478cad259e61b7cb26ec0eb8",
"type": "github"
},
"original": {

View File

@ -100,6 +100,7 @@ inputs.nixpkgs.lib.nixosSystem rec {
endpoint = "s3.us-west-002.backblazeb2.com";
bucket = "noahmasur-backup";
accessKeyId = "0026b0e73b2e2c80000000005";
resticBucket = "noahmasur-restic";
};
# Disable passwords, only use SSH key

View File

@ -134,7 +134,7 @@ inputs.nixpkgs.lib.nixosSystem rec {
endpoint = "s3.us-west-002.backblazeb2.com";
bucket = "noahmasur-backup";
accessKeyId = "0026b0e73b2e2c80000000005";
glacierBucket = "noahmasur-archive";
resticBucket = "noahmasur-restic";
};
# Disable passwords, only use SSH key

View File

@ -194,7 +194,18 @@
nixpkgs.config.permittedInsecurePackages = config.insecurePackages;
# Pin a state version to prevent warnings
home-manager.users.${config.user}.home.stateVersion = stateVersion;
home-manager.users.root.home.stateVersion = stateVersion;
# Fix for running home-manager against the repo directly
# See: https://github.com/nix-community/home-manager/issues/2033
home-manager.users.${config.user} = {
home.stateVersion = stateVersion;
news = {
display = "silent";
entries = lib.mkForce [ ];
json = lib.mkForce { "output" = { }; };
};
};
};
}

View File

@ -37,17 +37,16 @@
# Set up screen position and rotation
setupCommands = ''
${pkgs.xorg.xrandr}/bin/xrandr --output DisplayPort-1 \
--mode 1920x1200 \
--pos 2560x0 \
--rotate left \
--output DisplayPort-0 \
--primary \
--mode 2560x1440 \
--pos 0x560 \
--rotate normal \
--rate 120 \
--mode 2560x1440 \
--rate 165 \
--output DisplayPort-2 \
--right-of DisplayPort-1 \
--rotate left \
--output DVI-0 --off \
--output DVI-1 --off \
|| echo "xrandr failed"
'';
};
};

View File

@ -8,6 +8,10 @@
config = lib.mkIf (config.physical && !config.server) {
# Use power button to sleep instead of poweroff
services.logind.powerKey = "suspend";
services.logind.powerKeyLongPress = "poweroff";
# Prevent wake from keyboard
powerManagement.powerDownCommands = ''
set +e

View File

@ -66,6 +66,9 @@
# Configure Cloudflare DNS to point to this machine
services.cloudflare-dyndns.domains = [ config.hostnames.budget ];
# Backups
services.restic.backups.default.paths = [ "/var/lib/actualbudget" ];
};
}

View File

@ -22,9 +22,9 @@
description = "S3 access key ID for backups";
default = null;
};
glacierBucket = lib.mkOption {
resticBucket = lib.mkOption {
type = lib.types.nullOr lib.types.str;
description = "S3 bucket for glacier backups";
description = "S3 bucket for restic backups";
default = null;
};
};
@ -84,9 +84,9 @@
dest = "${config.secretsDirectory}/restic";
};
services.restic.backups = lib.mkIf (config.backup.s3.glacierBucket != null) {
services.restic.backups = lib.mkIf (config.backup.s3.resticBucket != null) {
default = {
repository = "s3:s3.us-east-1.amazonaws.com/${config.backup.s3.glacierBucket}/restic";
repository = "s3:s3.us-east-1.amazonaws.com/${config.backup.s3.resticBucket}/restic";
paths = [ ];
environmentFile = config.secrets.s3-glacier.dest;
passwordFile = config.secrets.restic.dest;

View File

@ -57,5 +57,9 @@
systemd.services.paperless-web.serviceConfig.UMask = lib.mkForce "0026";
systemd.services.paperless-scheduler.serviceConfig.UMask = lib.mkForce "0026";
systemd.services.paperless-task-queue.serviceConfig.UMask = lib.mkForce "0026";
# Backups
services.restic.backups.default.paths = [ "/data/generic/paperless/documents" ];
};
}

View File

@ -8,22 +8,14 @@
config = lib.mkIf pkgs.stdenv.isLinux {
services.tzupdate.enable = true;
# Service to determine location for time zone
# This is required for redshift which depends on the location provider
services.geoclue2.enable = true;
services.geoclue2.enableWifi = false; # Breaks when it can't connect
location = {
provider = "geoclue2";
};
# Enable local time based on time zone
services.localtimed.enable = true;
# Required to get localtimed to talk to geoclue2
services.geoclue2.appConfig.localtimed.isSystem = true;
services.geoclue2.appConfig.localtimed.isAllowed = true;
# Fix "Failed to set timezone"
# https://github.com/NixOS/nixpkgs/issues/68489#issuecomment-1484030107
services.geoclue2.enableDemoAgent = lib.mkForce true;
};
}