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
|
- Install nix using the https://github.com/DeterminateSystems/nix-installer
|
||||||
- Then run
|
- Then run
|
||||||
#+begin_src shell
|
#+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
|
#+end_src
|
||||||
- Done
|
- 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";
|
url = "github:nix-community/home-manager/release-25.11";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
nix-index-database = {
|
||||||
|
url = "github:nix-community/nix-index-database";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
sops-nix = {
|
sops-nix = {
|
||||||
url = "github:Mic92/sops-nix";
|
url = "github:Mic92/sops-nix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
@@ -94,7 +98,9 @@
|
|||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
# Main laptop
|
# Main laptop
|
||||||
aspi = lib.nixosSystem {
|
aspi = lib.nixosSystem {
|
||||||
modules = [./hosts/aspi];
|
modules = [
|
||||||
|
./hosts/aspi
|
||||||
|
];
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit inputs outputs;
|
inherit inputs outputs;
|
||||||
};
|
};
|
||||||
@@ -166,7 +172,7 @@
|
|||||||
};
|
};
|
||||||
"julian@quickstart" = lib.homeManagerConfiguration {
|
"julian@quickstart" = lib.homeManagerConfiguration {
|
||||||
modules = [
|
modules = [
|
||||||
./homes/julian/quickstart
|
./homes/julian/quickstart.nix
|
||||||
./homes/julian/hm-standalone-config.nix
|
./homes/julian/hm-standalone-config.nix
|
||||||
];
|
];
|
||||||
pkgs = pkgsFor.x86_64-linux;
|
pkgs = pkgsFor.x86_64-linux;
|
||||||
|
|||||||
@@ -281,6 +281,7 @@ in {
|
|||||||
"workspace 1, class:firefox"
|
"workspace 1, class:firefox"
|
||||||
"workspace 8, class:Zotero"
|
"workspace 8, class:Zotero"
|
||||||
"workspace 9, class:nheko"
|
"workspace 9, class:nheko"
|
||||||
|
"workspace 9, class:Element"
|
||||||
"workspace 9, class:discord"
|
"workspace 9, class:discord"
|
||||||
"workspace 9, class:org.telegram.desktop"
|
"workspace 9, class:org.telegram.desktop"
|
||||||
"workspace 10, class:thunderbird"
|
"workspace 10, class:thunderbird"
|
||||||
|
|||||||
@@ -19,7 +19,6 @@
|
|||||||
links2 # Tui web-browser
|
links2 # Tui web-browser
|
||||||
lnav # log analyzing tool
|
lnav # log analyzing tool
|
||||||
mc # Tui file browser
|
mc # Tui file browser
|
||||||
# nix-index
|
|
||||||
nmap
|
nmap
|
||||||
p7zip # unzip 7zip archives
|
p7zip # unzip 7zip archives
|
||||||
parted
|
parted
|
||||||
|
|||||||
@@ -30,6 +30,7 @@
|
|||||||
telegram-desktop # telegram
|
telegram-desktop # telegram
|
||||||
# schildichat-desktop # not updated regularly
|
# schildichat-desktop # not updated regularly
|
||||||
nheko
|
nheko
|
||||||
|
element-desktop
|
||||||
evince # Simple pdf reader, good for focusing on document content
|
evince # Simple pdf reader, good for focusing on document content
|
||||||
firefox
|
firefox
|
||||||
# geogebra
|
# geogebra
|
||||||
|
|||||||
@@ -68,7 +68,7 @@
|
|||||||
|
|
||||||
## My scripts
|
## My scripts
|
||||||
frajul.deploy-to-pianopi
|
frajul.deploy-to-pianopi
|
||||||
frajul.rtklib
|
# frajul.rtklib
|
||||||
|
|
||||||
(pkgs.writeShellScriptBin "matlab-rsp" ''
|
(pkgs.writeShellScriptBin "matlab-rsp" ''
|
||||||
matlab -desktop -sd "/home/julian/git/uwa-channel-model" -softwareopengl
|
matlab -desktop -sd "/home/julian/git/uwa-channel-model" -softwareopengl
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
config,
|
config,
|
||||||
|
inputs,
|
||||||
outputs,
|
outputs,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
@@ -9,6 +10,7 @@
|
|||||||
[
|
[
|
||||||
../features/fonts
|
../features/fonts
|
||||||
../features/nix-helper
|
../features/nix-helper
|
||||||
|
inputs.nix-index-database.homeModules.default # nix-locate
|
||||||
]
|
]
|
||||||
++ (builtins.attrValues outputs.homeManagerModules);
|
++ (builtins.attrValues outputs.homeManagerModules);
|
||||||
|
|
||||||
@@ -33,9 +35,19 @@
|
|||||||
|
|
||||||
# systemd.user.startServices = "sd-switch"; # TODO: what is this
|
# systemd.user.startServices = "sd-switch"; # TODO: what is this
|
||||||
|
|
||||||
|
# Expire old hm generations
|
||||||
|
hm-expire = {
|
||||||
|
enable = true;
|
||||||
|
dates = "weekly";
|
||||||
|
expire = "-30 days";
|
||||||
|
};
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
home-manager.enable = true;
|
home-manager.enable = true;
|
||||||
git.enable = true;
|
git.enable = true;
|
||||||
|
|
||||||
|
nix-index.enable = true; # allows command-not-found
|
||||||
|
nix-index-database.comma.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
home = {
|
home = {
|
||||||
|
|||||||
@@ -39,6 +39,20 @@
|
|||||||
"ca-derivations"
|
"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
|
# nix.settings. # warn-dirty = false; # TODO: do I want this
|
||||||
#
|
#
|
||||||
# Ensure we can still build when missing-server is not accessible
|
# 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
|
# If you want to adapt it to a specific device, copy this file with the correct hostname
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
imports = [
|
imports = [
|
||||||
../global
|
./global
|
||||||
|
|
||||||
../features/fish
|
./features/fish
|
||||||
../features/direnv
|
./features/direnv
|
||||||
../features/neovim
|
./features/neovim
|
||||||
../features/yazi
|
./features/yazi
|
||||||
../features/emacs
|
./features/emacs
|
||||||
../features/nix-helper
|
./features/nix-helper
|
||||||
../features/tmux
|
./features/tmux
|
||||||
];
|
];
|
||||||
|
|
||||||
is-nixos = false;
|
is-nixos = false;
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
../common/optional/podman.nix
|
../common/optional/podman.nix
|
||||||
../common/optional/wireguard.nix
|
../common/optional/wireguard.nix
|
||||||
|
../common/optional/wireshark.nix
|
||||||
../common/optional/flatpak.nix
|
../common/optional/flatpak.nix
|
||||||
|
|
||||||
../common/optional/avahi.nix
|
../common/optional/avahi.nix
|
||||||
|
|||||||
@@ -1,8 +1,4 @@
|
|||||||
{
|
{outputs, ...}: {
|
||||||
lib,
|
|
||||||
outputs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
# Apply overlays
|
# Apply overlays
|
||||||
nixpkgs = {
|
nixpkgs = {
|
||||||
# TODO: apply this to hm and nixos without duplicate code
|
# TODO: apply this to hm and nixos without duplicate code
|
||||||
@@ -32,10 +28,12 @@
|
|||||||
automatic = true;
|
automatic = true;
|
||||||
dates = "weekly";
|
dates = "weekly";
|
||||||
options = "--delete-older-than 30d";
|
options = "--delete-older-than 30d";
|
||||||
|
persistent = true;
|
||||||
};
|
};
|
||||||
nix.optimise = {
|
nix.optimise = {
|
||||||
automatic = true;
|
automatic = true;
|
||||||
dates = ["weekly"]; # Optional; allows customizing optimisation schedule
|
dates = ["weekly"]; # Optional; allows customizing optimisation schedule
|
||||||
|
persistent = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.nix-ld.enable = 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;
|
colors = import ./colors.nix;
|
||||||
hostname = import ./hostname.nix;
|
hostname = import ./hostname.nix;
|
||||||
non-nixos = import ./non-nixos.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,
|
writeShellApplication,
|
||||||
nheko,
|
element-desktop,
|
||||||
telegram-desktop,
|
telegram-desktop,
|
||||||
thunderbird,
|
thunderbird,
|
||||||
discord, # TODO: discord not available for aarch64, this leads to flake evaluation for this arch fail.
|
discord, # TODO: discord not available for aarch64, this leads to flake evaluation for this arch fail.
|
||||||
@@ -9,7 +9,7 @@ writeShellApplication {
|
|||||||
name = "open-messaging";
|
name = "open-messaging";
|
||||||
|
|
||||||
runtimeInputs = [
|
runtimeInputs = [
|
||||||
nheko
|
element-desktop
|
||||||
telegram-desktop
|
telegram-desktop
|
||||||
thunderbird
|
thunderbird
|
||||||
discord
|
discord
|
||||||
@@ -18,7 +18,7 @@ writeShellApplication {
|
|||||||
text = ''
|
text = ''
|
||||||
thunderbird &
|
thunderbird &
|
||||||
sleep 0.1
|
sleep 0.1
|
||||||
nheko &
|
element-desktop &
|
||||||
sleep 0.1
|
sleep 0.1
|
||||||
Telegram &
|
Telegram &
|
||||||
sleep 0.1
|
sleep 0.1
|
||||||
|
|||||||
Reference in New Issue
Block a user