Compare commits

...

5 Commits

Author SHA1 Message Date
73d3c6ca6e System update 2025-01-05 13:16:56 +01:00
0867b9f747 Removed flake.nix 2025-01-05 13:16:47 +01:00
f86626e623 cleanup and fixes 2025-01-05 13:16:21 +01:00
5a93a7b4c6 sops update 2025-01-04 15:28:02 +01:00
b39b2b355b System update 2025-01-04 11:01:52 +01:00
11 changed files with 88 additions and 72 deletions

9
.gitignore vendored
View File

@ -1,2 +1,9 @@
kogami.qcow2 kogami.qcow2
ginoza.qcow2 ginoza.qcow2
docs/kogami.png
docs/masaoka.jpg
docs/tsunemori.jpg
ginoza/hardware-configuration.nix

View File

@ -194,3 +194,4 @@ nvim /nixos/system/packages/ssh-client.nix
- [YT video about if else options](https://www.youtube.com/watch?v=Qull6TMQm4Q) - [YT video about if else options](https://www.youtube.com/watch?v=Qull6TMQm4Q)
- [YT video about install with one command](https://www.youtube.com/watch?v=20BN4gqHwaQ&t=2025s) - [YT video about install with one command](https://www.youtube.com/watch?v=20BN4gqHwaQ&t=2025s)
- [Vimjoyer's videos](https://www.youtube.com/@vimjoyer) - all videos - [Vimjoyer's videos](https://www.youtube.com/@vimjoyer) - all videos
- [Hyprdots for Arch](https://github.com/prasanthrangan/hyprdots) - inspiration for look

View File

@ -128,11 +128,11 @@
}, },
"locked": { "locked": {
"dir": "pkgs/firefox-addons", "dir": "pkgs/firefox-addons",
"lastModified": 1735902745, "lastModified": 1735979945,
"narHash": "sha256-Jc4QaD2ay04ogn8XND8WLcs4ZsBBlk4j50OK+0AFFJ4=", "narHash": "sha256-qT25PnbcQ30ypnI8fNazRDsq3WmBXC8Lo+OvPr+Ct+o=",
"owner": "rycee", "owner": "rycee",
"repo": "nur-expressions", "repo": "nur-expressions",
"rev": "bb5bbc46eb380d3a9bd12e5f7fdd171c65280a8a", "rev": "b93d8cdf12139da45146a6c3cf53141a437c41ec",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@ -284,11 +284,11 @@
"zig": "zig" "zig": "zig"
}, },
"locked": { "locked": {
"lastModified": 1735875799, "lastModified": 1735943291,
"narHash": "sha256-EI6C+CRmfHqkjnp0aJxYb/pTImwb5FZOu1HWHnnZsOc=", "narHash": "sha256-igXLrO0AtN7+k7VaR5zaHaPhDcS3go5NZr4liVqW9g4=",
"owner": "ghostty-org", "owner": "ghostty-org",
"repo": "ghostty", "repo": "ghostty",
"rev": "e2f9eb6a6f4dc2108f91293938374c0ed314dcb8", "rev": "1baf8928a0bd6ccc2f49e1e9478baab71d49a018",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -343,11 +343,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1735900408, "lastModified": 1735979091,
"narHash": "sha256-U+oZBQ3f5fF2hHsupKQH4ihgTKLHgcJh6jEmKDg+W10=", "narHash": "sha256-WpFjt6+8UD81EP386c269ZTqpEmlGJgcPw+OB4b7EBs=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "1c8d4c8d592e8fab4cff4397db5529ec6f078cf9", "rev": "11ab08541e61ac3bbf2ab27229f68622629401df",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -474,11 +474,11 @@
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1735851503, "lastModified": 1735946701,
"narHash": "sha256-r5FFHhiZZOOlzWsS06oz+7MKpjJydDXsD9N2NcKFSjE=", "narHash": "sha256-jCIIiEjgIs02N36fJCd+aU7QiqqdMWokfpFWO+sTdn0=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "Hyprland", "repo": "Hyprland",
"rev": "f3c49c1295126c2154ee800ceedb48b79451840c", "rev": "60f069d54015fec66e63f1ff7e6ff26ddb349976",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -620,6 +620,26 @@
"type": "github" "type": "github"
} }
}, },
"install-script": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1735984946,
"narHash": "sha256-j6ZDTw9w64yC7sf9T2uwNbJjNNno1PiVUb3eQUgv1X8=",
"ref": "refs/heads/master",
"rev": "f75baa0990fce4fb51281e01b4a1ec2326231a47",
"revCount": 3,
"type": "git",
"url": "https://git.foglar.tech/foglar/nix-flake-install-script"
},
"original": {
"type": "git",
"url": "https://git.foglar.tech/foglar/nix-flake-install-script"
}
},
"nix-formatter-pack": { "nix-formatter-pack": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -693,11 +713,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1735471104, "lastModified": 1735834308,
"narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=", "narHash": "sha256-dklw3AXr3OGO4/XT1Tu3Xz9n/we8GctZZ75ZWVqAVhk=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "88195a94f390381c6afcdaa933c2f6ff93959cb4", "rev": "6df24922a1400241dae323af55f30e4318a6ca65",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -928,6 +948,7 @@
"home-manager": "home-manager", "home-manager": "home-manager",
"home-manager-droid": "home-manager-droid", "home-manager-droid": "home-manager-droid",
"hyprland": "hyprland", "hyprland": "hyprland",
"install-script": "install-script",
"nix-ld": "nix-ld", "nix-ld": "nix-ld",
"nix-on-droid": "nix-on-droid", "nix-on-droid": "nix-on-droid",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
@ -983,11 +1004,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1735877772, "lastModified": 1735964101,
"narHash": "sha256-6OT4xYCwZTJ9qK28NNM98ibFZinwrJK/sRlg+dDqdJs=", "narHash": "sha256-FUKeipaDxAFf+0jun6CKk37g7UALIeisSz6L19KL+WM=",
"owner": "Gerg-L", "owner": "Gerg-L",
"repo": "spicetify-nix", "repo": "spicetify-nix",
"rev": "0227d83d2eb29189b8ed8d180e2442ada633dd0d", "rev": "5b2bbc7a627ea983cef34f4a8ec81cd597529943",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1015,11 +1036,11 @@
"tinted-tmux": "tinted-tmux" "tinted-tmux": "tinted-tmux"
}, },
"locked": { "locked": {
"lastModified": 1735864066, "lastModified": 1735933801,
"narHash": "sha256-V1JmPXW3vmxCuvf+IItGlLgBH8rolUahCMFyglxy19s=", "narHash": "sha256-SbkFaIYzfoasvu6GN5fdlaltrcEtUcoPsTRulWNkH7E=",
"owner": "danth", "owner": "danth",
"repo": "stylix", "repo": "stylix",
"rev": "0ce2a52decf36d815065f8cda06586ed59ed3ef7", "rev": "e0a41d3a2562ce1b43cad8560333673d04b111b8",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@ -2,6 +2,11 @@
description = "My highly sofisticated and complicated flake"; description = "My highly sofisticated and complicated flake";
inputs = { inputs = {
install-script = {
url = "git+https://git.foglar.tech/foglar/nix-flake-install-script";
inputs.nixpkgs.follows = "nixpkgs";
};
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11";
@ -113,16 +118,6 @@
allowUnfree = true; allowUnfree = true;
}; };
}; };
# Systems that can run tests:
supportedSystems = ["aarch64-linux" "i686-linux" "x86_64-linux"];
# Function to generate a set based on supported systems:
forAllSystems = inputs.nixpkgs.lib.genAttrs supportedSystems;
# Attribute set of nixpkgs for each system:
nixpkgsFor =
forAllSystems (system: import inputs.nixpkgs {inherit system;});
in { in {
# NixOS Configurations # NixOS Configurations
nixosConfigurations = { nixosConfigurations = {
@ -167,29 +162,5 @@
}; };
}; };
}; };
# Install script
packages = forAllSystems (system: let
pkgs = nixpkgsFor.${system};
in {
default = self.packages.${system}.install;
install = pkgs.writeShellApplication {
name = "install";
runtimeInputs = with pkgs; [git busybox gum];
text = ''
${./install.sh} "$@"
'';
};
});
apps = forAllSystems (system: {
default = self.apps.${system}.install;
install = {
type = "app";
program = "${self.packages.${system}.install}/bin/install";
};
});
}; };
} }

View File

@ -77,7 +77,7 @@
programs.auto-cpufreq.enable = true; programs.auto-cpufreq.enable = true;
programs.nix-ld.dev.enable = true; programs.nix-ld.dev.enable = true;
environment.systemPackages = [inputs.ghostty.packages.x86_64-linux.default]; environment.systemPackages = [inputs.install-script.packages.x86_64-linux.default];
#services.twingate.enable = true; #services.twingate.enable = true;

View File

@ -25,7 +25,8 @@
ranger ranger
unzip unzip
fd fd
imagemagick # convert images from formats like jpg, png, etc. imagemagick
toybox # convert images from formats like jpg, png, etc.
] ]
++ ( ++ (
if pkgs.system == "x86_64-linux" if pkgs.system == "x86_64-linux"

View File

@ -21,6 +21,7 @@
tcpdump tcpdump
sqlmap sqlmap
tor-browser tor-browser
android-udev-rules
]; ];
}; };
} }

View File

@ -2,6 +2,7 @@
pkgs, pkgs,
lib, lib,
config, config,
inputs,
... ...
}: { }: {
options = { options = {
@ -10,17 +11,23 @@
}; };
config = lib.mkIf config.app_list.programming.enable { config = lib.mkIf config.app_list.programming.enable {
home.packages = with pkgs; [ home.packages =
arduino-ide (with pkgs; [
distrobox arduino-ide
go distrobox
jq go
conda jq
jetbrains.pycharm-professional conda
dotnet-sdk_8 jetbrains.pycharm-professional
git-ignore dotnet-sdk_8
lazygit git-ignore
]; lazygit
])
++ (
with inputs.ghostty.packages.x86_64-linux; [
default
]
);
nixpkgs.config.allowUnfreePredicate = pkg: nixpkgs.config.allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) [ builtins.elem (lib.getName pkg) [

View File

@ -1,3 +1,4 @@
sync: ENC[AES256_GCM,data:2El2mY9XhCQ=,iv:EmgT5CgeCZjj9uwiDHbDNuty9czgQGJTSnXIIIm0JDM=,tag:ysZqmWibHkoQGjUoc/Mnxg==,type:str]
kogami: kogami:
password-hash: ENC[AES256_GCM,data:HXuzumA7zAzBUcOBszeslYVDLA7r3W7gINn2FvMCTEHkc+y3zWftK4CVnk+TuRcgP9/htUphs2BmusogFAdmRQ3HmQU8WGQN0A==,iv:n2063dWbEmFKEvXbY2uk+C6lwF7WzA8jalKOFHPVICc=,tag:wb5bq4Dk3a9UnzYFBInHEA==,type:str] password-hash: ENC[AES256_GCM,data:HXuzumA7zAzBUcOBszeslYVDLA7r3W7gINn2FvMCTEHkc+y3zWftK4CVnk+TuRcgP9/htUphs2BmusogFAdmRQ3HmQU8WGQN0A==,iv:n2063dWbEmFKEvXbY2uk+C6lwF7WzA8jalKOFHPVICc=,tag:wb5bq4Dk3a9UnzYFBInHEA==,type:str]
ginoza: ginoza:
@ -21,8 +22,8 @@ sops:
T0cxV21SN0hJaFg3R3hpTjIxa3lJNVEKdIrR5XDHxpCojk2A1pxc4dYtSJRrObbY T0cxV21SN0hJaFg3R3hpTjIxa3lJNVEKdIrR5XDHxpCojk2A1pxc4dYtSJRrObbY
JS/nDgu74LugEchiOhuIJ7nh3MS5XBOmmt2GTHrqxZEZFoIykjIGug== JS/nDgu74LugEchiOhuIJ7nh3MS5XBOmmt2GTHrqxZEZFoIykjIGug==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2024-12-30T11:16:07Z" lastmodified: "2025-01-04T14:26:29Z"
mac: ENC[AES256_GCM,data:roSfCo0syYs/of6TRQ+IZhs/0sQPJPEkWvefjzz/ctC9Oi4zFh0xlsSBZk73l1d5cYwVOYIyxLcpXnuWJ2r8eKVLpVozik460rj7K5GlkRkcWYUE6nRv1Vzz5CVToCdx4ZX+3qG/gdDQXmpav+2ECadmysrlRaObQ9CpQm2jU6o=,iv:L8wOy6aWvB09EdCFe5I60J3LuBFxEDk4Aso+nU3wsPk=,tag:hYF1rrV8m+A8/ZGqww6HFQ==,type:str] mac: ENC[AES256_GCM,data:5waKR2Ke3l5UIeg6nXqNMEYrQD75aXGsavQlbwQWRcyt+yr/Zn5CP+WB+8YTA56c+sZQ50xKiLP5q6WTEC3nnTb+AvOlvnF8FZ+NN+jLzDi9WbfWCChR3mAE3TbcLFfsdwKMwewLNjzRxGm9ErVORNo1+6i+VH8IUSBGcKTWy1s=,iv:Kem2lzKEUOEwtNkW57lfRFc3Ln7Au7mqbeA/9NEd0VU=,tag:9Nf4J7/SEIOPzRHeoBsVNA==,type:str]
pgp: [] pgp: []
unencrypted_suffix: _unencrypted unencrypted_suffix: _unencrypted
version: 3.9.2 version: 3.9.2

View File

@ -32,7 +32,10 @@
}; };
}; };
# Password hash
users.users.${userSettings.username}.hashedPasswordFile = "${config.sops.secrets."${userSettings.hostname}/password-hash".path}"; users.users.${userSettings.username}.hashedPasswordFile = "${config.sops.secrets."${userSettings.hostname}/password-hash".path}";
# YubiKey IDs
security.pam.yubico.id = security.pam.yubico.id =
[] []
++ ( ++ (
@ -40,5 +43,8 @@
then ["${config.sops.secrets.yubikey_id}".value] then ["${config.sops.secrets.yubikey_id}".value]
else [] else []
); );
# Syncthing password
services.syncthing.settings.gui.password = "${config.sops.secrets."syncthing".value}";
}; };
} }

View File

@ -7,7 +7,7 @@
config = lib.mkIf config.sys.audio.enable { config = lib.mkIf config.sys.audio.enable {
# Enable sound with pipewire. # Enable sound with pipewire.
hardware.pulseaudio.enable = false; services.pulseaudio.enable = false;
security.rtkit.enable = true; security.rtkit.enable = true;
services.pipewire = { services.pipewire = {
enable = true; enable = true;