Compare commits
47 Commits
c896e02bf1
...
flake-upda
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ae8979ecac | ||
|
|
6ac05c77b0 | ||
|
|
f10670f2be | ||
|
|
123612e4b3 | ||
|
|
b67666ac19 | ||
|
|
c403e02878 | ||
|
|
6b3d94e787 | ||
|
|
4802dcc0e0 | ||
|
|
3fec4d8c72 | ||
|
|
1390c1ca8b | ||
|
|
cb024f6f11 | ||
|
|
04684dcf6b | ||
|
|
e57a577182 | ||
|
|
4cbf77ef20 | ||
|
|
f338454ef1 | ||
|
|
f0c6c990e4 | ||
|
|
0f4e26660e | ||
|
|
844e698dfb | ||
|
|
8d72ed2b3b | ||
|
|
1713a086a1 | ||
|
|
79c944f7a8 | ||
|
|
222849e75c | ||
|
|
d6c07272e7 | ||
|
|
5014f64ed7 | ||
|
|
a9a023a8ff | ||
|
|
e0613fafa1 | ||
|
|
20679985ad | ||
|
|
2b41d1934e | ||
|
|
0da9684522 | ||
|
|
d16e295469 | ||
|
|
1c4116bc3d | ||
|
|
03c9db6ea4 | ||
|
|
3188aeb85f | ||
|
|
0fbdf4f481 | ||
|
|
4102e76f44 | ||
|
|
e41f2cbf7d | ||
|
|
511755748e | ||
| 349181f35b | |||
| 0b8b7564a1 | |||
| 54e0f94af5 | |||
| 977aa539a3 | |||
| d56605e37a | |||
| 7d013c83bc | |||
| d42f38531d | |||
| af54219f5f | |||
| b6f59055d8 | |||
| cb990c0cd4 |
@@ -4,7 +4,7 @@
|
||||
- Install nix using the https://github.com/DeterminateSystems/nix-installer
|
||||
- Then run
|
||||
#+begin_src shell
|
||||
nix run nixpkgs#home-manager switch --flake git+https://gitlab.julian-mutter.de/julian/dotfiles.git#julian@quickstart
|
||||
nix run nixpkgs#home-manager -- switch --flake git+https://gitlab.julian-mutter.de/julian/dotfiles.git#julian@quickstart
|
||||
#+end_src
|
||||
- Done
|
||||
|
||||
|
||||
821
flake.lock
generated
821
flake.lock
generated
File diff suppressed because it is too large
Load Diff
10
flake.nix
10
flake.nix
@@ -19,6 +19,10 @@
|
||||
url = "github:nix-community/home-manager/release-25.11";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
nix-index-database = {
|
||||
url = "github:nix-community/nix-index-database";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
sops-nix = {
|
||||
url = "github:Mic92/sops-nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
@@ -94,7 +98,9 @@
|
||||
nixosConfigurations = {
|
||||
# Main laptop
|
||||
aspi = lib.nixosSystem {
|
||||
modules = [./hosts/aspi];
|
||||
modules = [
|
||||
./hosts/aspi
|
||||
];
|
||||
specialArgs = {
|
||||
inherit inputs outputs;
|
||||
};
|
||||
@@ -166,7 +172,7 @@
|
||||
};
|
||||
"julian@quickstart" = lib.homeManagerConfiguration {
|
||||
modules = [
|
||||
./homes/julian/quickstart
|
||||
./homes/julian/quickstart.nix
|
||||
./homes/julian/hm-standalone-config.nix
|
||||
];
|
||||
pkgs = pkgsFor.x86_64-linux;
|
||||
|
||||
@@ -281,6 +281,7 @@ in {
|
||||
"workspace 1, class:firefox"
|
||||
"workspace 8, class:Zotero"
|
||||
"workspace 9, class:nheko"
|
||||
"workspace 9, class:Element"
|
||||
"workspace 9, class:discord"
|
||||
"workspace 9, class:org.telegram.desktop"
|
||||
"workspace 10, class:thunderbird"
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
links2 # Tui web-browser
|
||||
lnav # log analyzing tool
|
||||
mc # Tui file browser
|
||||
# nix-index
|
||||
nmap
|
||||
p7zip # unzip 7zip archives
|
||||
parted
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
telegram-desktop # telegram
|
||||
# schildichat-desktop # not updated regularly
|
||||
nheko
|
||||
element-desktop
|
||||
evince # Simple pdf reader, good for focusing on document content
|
||||
firefox
|
||||
# geogebra
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
|
||||
## My scripts
|
||||
frajul.deploy-to-pianopi
|
||||
frajul.rtklib
|
||||
# frajul.rtklib
|
||||
|
||||
(pkgs.writeShellScriptBin "matlab-rsp" ''
|
||||
matlab -desktop -sd "/home/julian/git/uwa-channel-model" -softwareopengl
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
lib,
|
||||
pkgs,
|
||||
config,
|
||||
inputs,
|
||||
outputs,
|
||||
...
|
||||
}: {
|
||||
@@ -9,6 +10,7 @@
|
||||
[
|
||||
../features/fonts
|
||||
../features/nix-helper
|
||||
inputs.nix-index-database.homeModules.default # nix-locate
|
||||
]
|
||||
++ (builtins.attrValues outputs.homeManagerModules);
|
||||
|
||||
@@ -33,9 +35,19 @@
|
||||
|
||||
# systemd.user.startServices = "sd-switch"; # TODO: what is this
|
||||
|
||||
# Expire old hm generations
|
||||
hm-expire = {
|
||||
enable = true;
|
||||
dates = "weekly";
|
||||
expire = "-30 days";
|
||||
};
|
||||
|
||||
programs = {
|
||||
home-manager.enable = true;
|
||||
git.enable = true;
|
||||
|
||||
nix-index.enable = true; # allows command-not-found
|
||||
nix-index-database.comma.enable = true;
|
||||
};
|
||||
|
||||
home = {
|
||||
|
||||
@@ -39,6 +39,20 @@
|
||||
"ca-derivations"
|
||||
];
|
||||
|
||||
# Expire old hm generations
|
||||
hm-expire = {
|
||||
enable = true;
|
||||
dates = "weekly";
|
||||
expire = "-30 days";
|
||||
};
|
||||
# Remove unused packets
|
||||
services.nix-gc = {
|
||||
enable = true;
|
||||
automatic = true;
|
||||
frequency = "weekly";
|
||||
persistent = true;
|
||||
};
|
||||
|
||||
# nix.settings. # warn-dirty = false; # TODO: do I want this
|
||||
#
|
||||
# Ensure we can still build when missing-server is not accessible
|
||||
|
||||
@@ -2,15 +2,15 @@
|
||||
# If you want to adapt it to a specific device, copy this file with the correct hostname
|
||||
{pkgs, ...}: {
|
||||
imports = [
|
||||
../global
|
||||
./global
|
||||
|
||||
../features/fish
|
||||
../features/direnv
|
||||
../features/neovim
|
||||
../features/yazi
|
||||
../features/emacs
|
||||
../features/nix-helper
|
||||
../features/tmux
|
||||
./features/fish
|
||||
./features/direnv
|
||||
./features/neovim
|
||||
./features/yazi
|
||||
./features/emacs
|
||||
./features/nix-helper
|
||||
./features/tmux
|
||||
];
|
||||
|
||||
is-nixos = false;
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
|
||||
../common/optional/podman.nix
|
||||
../common/optional/wireguard.nix
|
||||
../common/optional/wireshark.nix
|
||||
../common/optional/flatpak.nix
|
||||
|
||||
../common/optional/avahi.nix
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
{
|
||||
lib,
|
||||
outputs,
|
||||
...
|
||||
}: {
|
||||
{outputs, ...}: {
|
||||
# Apply overlays
|
||||
nixpkgs = {
|
||||
# TODO: apply this to hm and nixos without duplicate code
|
||||
@@ -32,10 +28,12 @@
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
options = "--delete-older-than 30d";
|
||||
persistent = true;
|
||||
};
|
||||
nix.optimise = {
|
||||
automatic = true;
|
||||
dates = ["weekly"]; # Optional; allows customizing optimisation schedule
|
||||
persistent = true;
|
||||
};
|
||||
|
||||
programs.nix-ld.enable = true;
|
||||
|
||||
9
hosts/common/optional/wireshark.nix
Normal file
9
hosts/common/optional/wireshark.nix
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
programs.wireshark = {
|
||||
enable = true;
|
||||
dumpcap.enable = true;
|
||||
usbmon.enable = true;
|
||||
};
|
||||
|
||||
users.users.julian.extraGroups = ["wireshark"];
|
||||
}
|
||||
@@ -5,4 +5,5 @@
|
||||
colors = import ./colors.nix;
|
||||
hostname = import ./hostname.nix;
|
||||
non-nixos = import ./non-nixos.nix;
|
||||
hm-expire = import ./hm-expire.nix;
|
||||
}
|
||||
|
||||
46
modules/home-manager/hm-expire.nix
Normal file
46
modules/home-manager/hm-expire.nix
Normal file
@@ -0,0 +1,46 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
cfg = config.hm-expire;
|
||||
in {
|
||||
options.hm-expire = {
|
||||
enable = lib.mkEnableOption "Whether to enable hm-expire";
|
||||
dates = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "weekly";
|
||||
};
|
||||
expire = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "-30 days";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
# This creates a user-level systemd service
|
||||
systemd.user.services.cleanup-home-manager = {
|
||||
Unit = {
|
||||
Description = "Cleanup old Home Manager generations";
|
||||
};
|
||||
Service = {
|
||||
Type = "oneshot";
|
||||
ExecStart = "${pkgs.bash}/bin/bash -c '${pkgs.home-manager}/bin/home-manager expire-generations \"${cfg.expire}\"'";
|
||||
};
|
||||
};
|
||||
|
||||
systemd.user.timers.cleanup-home-manager = {
|
||||
Unit = {
|
||||
Description = "Weekly cleanup of Home Manager generations";
|
||||
};
|
||||
Timer = {
|
||||
OnCalendar = cfg.dates;
|
||||
Persistent = true;
|
||||
};
|
||||
Install = {
|
||||
WantedBy = ["timers.target"];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
writeShellApplication,
|
||||
nheko,
|
||||
element-desktop,
|
||||
telegram-desktop,
|
||||
thunderbird,
|
||||
discord, # TODO: discord not available for aarch64, this leads to flake evaluation for this arch fail.
|
||||
@@ -9,7 +9,7 @@ writeShellApplication {
|
||||
name = "open-messaging";
|
||||
|
||||
runtimeInputs = [
|
||||
nheko
|
||||
element-desktop
|
||||
telegram-desktop
|
||||
thunderbird
|
||||
discord
|
||||
@@ -18,7 +18,7 @@ writeShellApplication {
|
||||
text = ''
|
||||
thunderbird &
|
||||
sleep 0.1
|
||||
nheko &
|
||||
element-desktop &
|
||||
sleep 0.1
|
||||
Telegram &
|
||||
sleep 0.1
|
||||
|
||||
Reference in New Issue
Block a user