mirror of
https://github.com/foo-dogsquared/nixos-config.git
synced 2025-04-27 12:19:11 +00:00
Compare commits
25 Commits
6a5c5c48d8
...
d1a00f9794
Author | SHA1 | Date | |
---|---|---|---|
![]() |
d1a00f9794 | ||
a7d3111d3e | |||
8de6cbe359 | |||
0c7fb4aa90 | |||
c5835bc8a0 | |||
3ae1781736 | |||
6f659999d1 | |||
58c393dc1a | |||
ba9e3c3066 | |||
ffafbe1b94 | |||
d8bec326cc | |||
de335fe21c | |||
e27308dea9 | |||
9c76f03186 | |||
3e8c0852e1 | |||
72e09c0345 | |||
![]() |
c6d6215b5a | ||
![]() |
ea53730389 | ||
f62ca9bdc8 | |||
51f2b966de | |||
ed45b34b50 | |||
874a915b7f | |||
48949336ff | |||
eb4352f925 | |||
ebc6ead5e3 |
8
.github/workflows/build-devcontainers.yml
vendored
8
.github/workflows/build-devcontainers.yml
vendored
@ -10,13 +10,9 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: DeterminateSystems/nix-installer-action@v16
|
- uses: DeterminateSystems/nix-installer-action@v16
|
||||||
- uses: DeterminateSystems/magic-nix-cache-action@v9
|
|
||||||
with:
|
|
||||||
extra-conf: |
|
|
||||||
keep-going = true
|
|
||||||
- name: Build
|
- name: Build
|
||||||
run: |
|
run: |
|
||||||
nix build -f ./devcontainers --impure --print-out-paths --no-link > build_paths
|
nix build -f ./devcontainers --print-out-paths --no-link > build_paths
|
||||||
env:
|
env:
|
||||||
NIXPKGS_ALLOW_UNFREE: "1"
|
NIXPKGS_ALLOW_UNFREE: "1"
|
||||||
- name: Deploy devcontainers to GitHub registry
|
- name: Deploy devcontainers to GitHub registry
|
||||||
@ -26,5 +22,5 @@ jobs:
|
|||||||
for image_archive in $(< build_paths); do
|
for image_archive in $(< build_paths); do
|
||||||
CONTAINER_TAG=$(echo $image_archive | awk 'match($0, /docker-image-(\S+).tar.gz/, arr) {print arr[1]}')
|
CONTAINER_TAG=$(echo $image_archive | awk 'match($0, /docker-image-(\S+).tar.gz/, arr) {print arr[1]}')
|
||||||
skopeo copy \
|
skopeo copy \
|
||||||
"docker-archive:${image_archive}" "docker://ghcr.io/${{ github.repository }}:${CONTAINER_TAG}"
|
"docker-archive:${image_archive}" "docker://ghcr.io/${{ github.repository }}"
|
||||||
done
|
done
|
||||||
|
6
.github/workflows/build.yml
vendored
6
.github/workflows/build.yml
vendored
@ -10,12 +10,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: DeterminateSystems/nix-installer-action@v16
|
- uses: DeterminateSystems/nix-installer-action@v16
|
||||||
- uses: DeterminateSystems/magic-nix-cache-action@v9
|
|
||||||
with:
|
|
||||||
extra-conf: |
|
|
||||||
keep-going = true
|
|
||||||
- name: Prepare push to binary cache
|
- name: Prepare push to binary cache
|
||||||
uses: cachix/cachix-action@v15
|
uses: cachix/cachix-action@v16
|
||||||
if: ${{ github.ref == 'refs/heads/master' }}
|
if: ${{ github.ref == 'refs/heads/master' }}
|
||||||
with:
|
with:
|
||||||
name: foo-dogsquared
|
name: foo-dogsquared
|
||||||
|
1
.github/workflows/iso.yml
vendored
1
.github/workflows/iso.yml
vendored
@ -15,7 +15,6 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: DeterminateSystems/nix-installer-action@v16
|
- uses: DeterminateSystems/nix-installer-action@v16
|
||||||
- uses: DeterminateSystems/magic-nix-cache-action@v9
|
|
||||||
- name: Build ISO
|
- name: Build ISO
|
||||||
run: |
|
run: |
|
||||||
nix build .#images.${{ matrix.arch }}.bootstrap-install-iso --out-link build-iso-result
|
nix build .#images.${{ matrix.arch }}.bootstrap-install-iso --out-link build-iso-result
|
||||||
|
1
.github/workflows/site.yml
vendored
1
.github/workflows/site.yml
vendored
@ -10,7 +10,6 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: DeterminateSystems/nix-installer-action@v16
|
- uses: DeterminateSystems/nix-installer-action@v16
|
||||||
- uses: DeterminateSystems/magic-nix-cache-action@v9
|
|
||||||
- env:
|
- env:
|
||||||
NIXPKGS_ALLOW_UNFREE: "1"
|
NIXPKGS_ALLOW_UNFREE: "1"
|
||||||
run: nix build .#devPackages.x86_64-linux.website
|
run: nix build .#devPackages.x86_64-linux.website
|
||||||
|
@ -101,6 +101,13 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# GARBAGE DAY!
|
||||||
|
nix.gc = {
|
||||||
|
automatic = true;
|
||||||
|
frequency = "weekly";
|
||||||
|
randomizedDelaySec = "5m";
|
||||||
|
};
|
||||||
|
|
||||||
# Set the profile picture. Most of the desktop environments should support
|
# Set the profile picture. Most of the desktop environments should support
|
||||||
# this.
|
# this.
|
||||||
home.file.".face".source = ./files/logo.png;
|
home.file.".face".source = ./files/logo.png;
|
||||||
@ -113,6 +120,9 @@ in {
|
|||||||
xdg.userDirs.extraConfig.XDG_PROJECTS_DIR =
|
xdg.userDirs.extraConfig.XDG_PROJECTS_DIR =
|
||||||
"${config.home.homeDirectory}/Projects";
|
"${config.home.homeDirectory}/Projects";
|
||||||
|
|
||||||
|
# Only enable autostart inside of NixOS systems.
|
||||||
|
xdg.autostart.enable = attrs ? nixosConfig;
|
||||||
|
|
||||||
# Set nixpkgs config both outside and inside of home-manager.
|
# Set nixpkgs config both outside and inside of home-manager.
|
||||||
nixpkgs.config = import ./config/nixpkgs/config.nix;
|
nixpkgs.config = import ./config/nixpkgs/config.nix;
|
||||||
xdg.configFile."nixpkgs/config.nix".source = ./config/nixpkgs/config.nix;
|
xdg.configFile."nixpkgs/config.nix".source = ./config/nixpkgs/config.nix;
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
# WHOA! Even browsers with extensions can be declarative!
|
# WHOA! Even browsers with extensions can be declarative!
|
||||||
{ config, lib, pkgs, ... }@attrs:
|
{ config, lib, pkgs, foodogsquaredLib, ... }@attrs:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
inherit (foodogsquaredLib.xdg) getXdgDesktop;
|
||||||
userCfg = config.users.foo-dogsquared;
|
userCfg = config.users.foo-dogsquared;
|
||||||
cfg = userCfg.programs.browsers;
|
cfg = userCfg.programs.browsers;
|
||||||
|
|
||||||
@ -95,7 +96,7 @@ in {
|
|||||||
{
|
{
|
||||||
isDefault = true;
|
isDefault = true;
|
||||||
|
|
||||||
extensions = with pkgs.nur.repos.rycee.firefox-addons;
|
extensions.packages = with pkgs.nur.repos.rycee.firefox-addons;
|
||||||
[
|
[
|
||||||
aw-watcher-web
|
aw-watcher-web
|
||||||
bitwarden
|
bitwarden
|
||||||
@ -206,9 +207,9 @@ in {
|
|||||||
definedAliases = [ "@np" ];
|
definedAliases = [ "@np" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
"Bing".metaData.hidden = true;
|
"bing".metaData.hidden = true;
|
||||||
"Duckduckgo".metaData.hidden = true;
|
"duckduckgo".metaData.hidden = true;
|
||||||
"Google".metaData.alias = "@g";
|
"google".metaData.alias = "@g";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -263,6 +264,9 @@ in {
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
xdg.autostart.entries =
|
||||||
|
lib.singleton (getXdgDesktop config.programs.firefox.package "firefox");
|
||||||
|
|
||||||
# Configuring Bleachbit for Firefox cleaning.
|
# Configuring Bleachbit for Firefox cleaning.
|
||||||
services.bleachbit.cleaners = [
|
services.bleachbit.cleaners = [
|
||||||
"firefox.backup"
|
"firefox.backup"
|
||||||
@ -306,7 +310,7 @@ in {
|
|||||||
[{ id = "egpjdkipkomnmjhjmdamaniclmdlobbo"; }];
|
[{ id = "egpjdkipkomnmjhjmdamaniclmdlobbo"; }];
|
||||||
};
|
};
|
||||||
in lib.foldl' enableSupportedBrowser { } supportedBrowsers // {
|
in lib.foldl' enableSupportedBrowser { } supportedBrowsers // {
|
||||||
programs.firefox.profiles.personal.extensions =
|
programs.firefox.profiles.personal.extensions.packages =
|
||||||
with pkgs.nur.repos.rycee.firefox-addons;
|
with pkgs.nur.repos.rycee.firefox-addons;
|
||||||
[ firenvim ];
|
[ firenvim ];
|
||||||
}))
|
}))
|
||||||
|
@ -17,7 +17,6 @@ in {
|
|||||||
query
|
query
|
||||||
polars
|
polars
|
||||||
formats
|
formats
|
||||||
highlight
|
|
||||||
];
|
];
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
$env.config = $env.config | merge deep --strategy=append {
|
$env.config = $env.config | merge deep --strategy=append {
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
{ config, lib, pkgs, ... }@attrs:
|
{ config, lib, pkgs, foodogsquaredLib, ... }@attrs:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
inherit (foodogsquaredLib.xdg) getXdgDesktop;
|
||||||
|
|
||||||
userCfg = config.users.foo-dogsquared;
|
userCfg = config.users.foo-dogsquared;
|
||||||
cfg = userCfg.programs.terminal-emulator;
|
cfg = userCfg.programs.terminal-emulator;
|
||||||
|
|
||||||
@ -10,16 +12,7 @@ let
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
hasNixosModuleEnable = attrs.nixosConfig.programs.wezterm.enable or false;
|
hasNixosModuleEnable = attrs.nixosConfig.programs.wezterm.enable or false;
|
||||||
in {
|
|
||||||
options.users.foo-dogsquared.programs.terminal-emulator.enable =
|
|
||||||
lib.mkEnableOption "foo-dogsquared's terminal emulator setup";
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable (lib.mkMerge [
|
|
||||||
{
|
|
||||||
# We're just making a version of Wezterm with the default arguments if
|
|
||||||
# the user has them.
|
|
||||||
home.packages = let
|
|
||||||
inherit (pkgs) wezterm hiPrio;
|
|
||||||
weztermUserDefaultDesktop = pkgs.makeDesktopItem {
|
weztermUserDefaultDesktop = pkgs.makeDesktopItem {
|
||||||
name = "org.wezfurlong.wezterm";
|
name = "org.wezfurlong.wezterm";
|
||||||
desktopName = "WezTerm (user)";
|
desktopName = "WezTerm (user)";
|
||||||
@ -44,7 +37,20 @@ in {
|
|||||||
type = "Application";
|
type = "Application";
|
||||||
categories = [ "System" "TerminalEmulator" "Utility" ];
|
categories = [ "System" "TerminalEmulator" "Utility" ];
|
||||||
};
|
};
|
||||||
|
in {
|
||||||
|
options.users.foo-dogsquared.programs.terminal-emulator.enable =
|
||||||
|
lib.mkEnableOption "foo-dogsquared's terminal emulator setup";
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable (lib.mkMerge [
|
||||||
|
{
|
||||||
|
# We're just making a version of Wezterm with the default arguments if
|
||||||
|
# the user has them.
|
||||||
|
home.packages = let
|
||||||
|
inherit (pkgs) wezterm hiPrio;
|
||||||
in [ wezterm (hiPrio weztermUserDefaultDesktop) weztermTypicalDesktop ];
|
in [ wezterm (hiPrio weztermUserDefaultDesktop) weztermTypicalDesktop ];
|
||||||
|
|
||||||
|
xdg.autostart.entries =
|
||||||
|
lib.singleton (getXdgDesktop weztermUserDefaultDesktop "org.wezfurlong.wezterm");
|
||||||
}
|
}
|
||||||
|
|
||||||
(lib.mkIf (!hasNixosModuleEnable) {
|
(lib.mkIf (!hasNixosModuleEnable) {
|
||||||
|
@ -9,7 +9,7 @@ in {
|
|||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
suites.editors.vscode.enable = true;
|
suites.editors.vscode.enable = true;
|
||||||
programs.vscode = {
|
programs.vscode.profiles.default = {
|
||||||
extensions = with pkgs.vscode-extensions;
|
extensions = with pkgs.vscode-extensions;
|
||||||
[
|
[
|
||||||
# Additional language support.
|
# Additional language support.
|
||||||
|
@ -142,14 +142,18 @@ in {
|
|||||||
home.packages = with pkgs;
|
home.packages = with pkgs;
|
||||||
[
|
[
|
||||||
d-spy # Some GNOME dev probably developed this.
|
d-spy # Some GNOME dev probably developed this.
|
||||||
|
bustle # Hustle and...
|
||||||
];
|
];
|
||||||
})
|
})
|
||||||
|
|
||||||
(lib.mkIf cfg.creative-coding.enable {
|
(lib.mkIf cfg.creative-coding.enable {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
decker
|
||||||
|
uxn
|
||||||
supercollider-with-plugins
|
supercollider-with-plugins
|
||||||
processing
|
processing
|
||||||
(puredata-with-plugins (with pkgs; [ zexy ]))
|
(puredata-with-plugins (with pkgs; [ zexy ]))
|
||||||
|
tic-80-unstable
|
||||||
];
|
];
|
||||||
})
|
})
|
||||||
]);
|
]);
|
||||||
|
@ -120,6 +120,9 @@ in {
|
|||||||
(lib.mkIf cfg.spotify.enable {
|
(lib.mkIf cfg.spotify.enable {
|
||||||
home.packages = with pkgs; [ spotify ];
|
home.packages = with pkgs; [ spotify ];
|
||||||
|
|
||||||
|
xdg.autostart.entries =
|
||||||
|
lib.singleton (foodogsquaredLib.xdg.getXdgDesktop pkgs.spotify "spotify");
|
||||||
|
|
||||||
sops.secrets."spotify_env" = foodogsquaredLib.sops-nix.getAsOneSecret ./secrets.bin;
|
sops.secrets."spotify_env" = foodogsquaredLib.sops-nix.getAsOneSecret ./secrets.bin;
|
||||||
|
|
||||||
state.ports.spotifyd.value =
|
state.ports.spotifyd.value =
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, foodogsquaredLib, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
userCfg = config.users.foo-dogsquared;
|
userCfg = config.users.foo-dogsquared;
|
||||||
@ -80,6 +80,9 @@ in {
|
|||||||
"application/vnd.anki" = [ "anki.desktop" ];
|
"application/vnd.anki" = [ "anki.desktop" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
xdg.autostart.entries =
|
||||||
|
lib.singleton (foodogsquaredLib.xdg.getXdgDesktop pkgs.zotero "zotero");
|
||||||
|
|
||||||
users.foo-dogsquared.programs.custom-homepage.sections.services.links =
|
users.foo-dogsquared.programs.custom-homepage.sections.services.links =
|
||||||
lib.singleton {
|
lib.singleton {
|
||||||
url = "http://localhost:${
|
url = "http://localhost:${
|
||||||
@ -87,6 +90,13 @@ in {
|
|||||||
}";
|
}";
|
||||||
text = "Local sync server";
|
text = "Local sync server";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
programs.python.modules = ps: with pkgs.swh; [
|
||||||
|
swh-core
|
||||||
|
swh-fuse
|
||||||
|
swh-model
|
||||||
|
swh-web-client
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
(lib.mkIf userCfg.programs.shell.enable {
|
(lib.mkIf userCfg.programs.shell.enable {
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
{ dockerTools, foodogsquaredLib, nodejs, bun, pnpm }:
|
{ dockerTools, foodogsquaredLib, nodejs, bun, pnpm }:
|
||||||
|
|
||||||
foodogsquaredLib.buildDockerImage {
|
foodogsquaredLib.buildDockerImage rec {
|
||||||
name = "js-backend";
|
name = "js-backend";
|
||||||
|
tag = name;
|
||||||
contents = [ nodejs bun pnpm ];
|
contents = [ nodejs bun pnpm ];
|
||||||
}
|
}
|
||||||
|
@ -2,5 +2,6 @@
|
|||||||
|
|
||||||
foodogsquaredLib.buildDockerImage {
|
foodogsquaredLib.buildDockerImage {
|
||||||
name = "ruby-on-rails";
|
name = "ruby-on-rails";
|
||||||
|
tag = "ror-${ruby.version}";
|
||||||
contents = [ ruby bundix mruby rails-new ];
|
contents = [ ruby bundix mruby rails-new ];
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
{ dockerTools, foodogsquaredLib, rustc, cargo, rust-bindgen, rust-analyzer
|
{ dockerTools, foodogsquaredLib, rustc, cargo, rust-bindgen, rust-analyzer
|
||||||
, nodejs }:
|
, nodejs }:
|
||||||
|
|
||||||
foodogsquaredLib.buildDockerImage {
|
foodogsquaredLib.buildDockerImage rec {
|
||||||
name = "rust-backend";
|
name = "rust-backend";
|
||||||
|
tag = name;
|
||||||
contents = [ cargo rust-bindgen rust-analyzer rustc nodejs ];
|
contents = [ cargo rust-bindgen rust-analyzer rustc nodejs ];
|
||||||
}
|
}
|
||||||
|
144
flake.lock
generated
144
flake.lock
generated
@ -71,11 +71,11 @@
|
|||||||
"nixpkgs-stable": "nixpkgs-stable"
|
"nixpkgs-stable": "nixpkgs-stable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741921426,
|
"lastModified": 1742523104,
|
||||||
"narHash": "sha256-TV7AJaiF+9MLEkUbbX85EjplOpeEXXQhm2/14AVl+SM=",
|
"narHash": "sha256-xszUn7/EjXpq43LO9Qgn7je+2Z8qOfpYDGLoEjo25No=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "emacs-overlay",
|
"repo": "emacs-overlay",
|
||||||
"rev": "efab809432104b6f93d3903aa47e6fbbe2939038",
|
"rev": "808ae0382b035600bc8829918bfe5ea1fa63dab4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -240,11 +240,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1738453229,
|
"lastModified": 1741352980,
|
||||||
"narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=",
|
"narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd",
|
"rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -281,11 +281,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1738453229,
|
"lastModified": 1741352980,
|
||||||
"narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=",
|
"narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd",
|
"rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -379,11 +379,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741379162,
|
"lastModified": 1742300892,
|
||||||
"narHash": "sha256-srpAbmJapkaqGRE3ytf3bj4XshspVR5964OX5LfjDWc=",
|
"narHash": "sha256-QmF0proyjXI9YyZO9GZmc7/uEu5KVwCtcdLsKSoxPAI=",
|
||||||
"owner": "cachix",
|
"owner": "cachix",
|
||||||
"repo": "git-hooks.nix",
|
"repo": "git-hooks.nix",
|
||||||
"rev": "b5a62751225b2f62ff3147d0a334055ebadcd5cc",
|
"rev": "ea26a82dda75bee6783baca6894040c8e6599728",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -468,11 +468,11 @@
|
|||||||
"rust-overlay": "rust-overlay"
|
"rust-overlay": "rust-overlay"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741884213,
|
"lastModified": 1742522723,
|
||||||
"narHash": "sha256-qcfEVfhCXSzIz57PFR4AtILp+X0BaiF1zx3omKkxOrI=",
|
"narHash": "sha256-q135kPFx+BFfeAn838QfYo0pIJNYK0UFYdNa77EQMuM=",
|
||||||
"owner": "helix-editor",
|
"owner": "helix-editor",
|
||||||
"repo": "helix",
|
"repo": "helix",
|
||||||
"rev": "44bddf51b76eab8b4096448e52a33964a52f7d2e",
|
"rev": "1dee64f7ec304c607afeb7da8db305e6de1d064c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -490,11 +490,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1739595404,
|
"lastModified": 1742014779,
|
||||||
"narHash": "sha256-0CjCfbq0yHWexOrpO06e2WU1r5JAqR6ffy1zgM3NksI=",
|
"narHash": "sha256-I6fG1zrfdLFcp/imGZElig0BJO3YU0QEXLgvwWoOpJ8=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "hercules-ci-effects",
|
"repo": "hercules-ci-effects",
|
||||||
"rev": "06519cec8fb32d219006da6eacd255504a9996af",
|
"rev": "524637ef84c177661690b924bf64a1ce18072a2c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -531,11 +531,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741914680,
|
"lastModified": 1742508854,
|
||||||
"narHash": "sha256-Vu4DIZvgfWMzhUyxbHUrJaQb5232S5vuwxQ2sBcBVHk=",
|
"narHash": "sha256-vQQTIl4+slrcu7ftVKNBql9ngBdY0dcYGujdT7zIVp0=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "30cce6848a5aa41ceb5fb33185b84868cc3e9bef",
|
"rev": "da0181819479ddc034a3db9a77ed21ea3bcc0668",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -585,11 +585,11 @@
|
|||||||
"treefmt-nix": "treefmt-nix"
|
"treefmt-nix": "treefmt-nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741911010,
|
"lastModified": 1742522630,
|
||||||
"narHash": "sha256-CIKnxI//A8J3N0cUXQ8HMqwpo/1igU89H8eIOrlrNts=",
|
"narHash": "sha256-1CQvUAtfVQtbn2n3UhxeEz9WF0WPc/bhMQknDPgpySM=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "neovim-nightly-overlay",
|
"repo": "neovim-nightly-overlay",
|
||||||
"rev": "6b175fb7c9d12ff039dc3e7f944256522658581d",
|
"rev": "e20681475b223c163d83c811a7fc4edf28b32c98",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -601,11 +601,11 @@
|
|||||||
"neovim-src": {
|
"neovim-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741907753,
|
"lastModified": 1742426477,
|
||||||
"narHash": "sha256-T8iwRFgFGQyENPRm/RIIpjDxP+GDIwTlYuFcY1LexQ8=",
|
"narHash": "sha256-MLlU8s/lVKHfYcl9g8Q4nOl3BVWc627fVII58qtL9d8=",
|
||||||
"owner": "neovim",
|
"owner": "neovim",
|
||||||
"repo": "neovim",
|
"repo": "neovim",
|
||||||
"rev": "4f6196e91d23f17e6b25ea7356d5bbc5b87d95b6",
|
"rev": "175c09bd660d0cea62288e74cea925a9b15bee55",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -642,11 +642,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741619381,
|
"lastModified": 1742174123,
|
||||||
"narHash": "sha256-koZtlJRqi0/MD/AKd0KrXLA2NuBOVzlIyAJprjzpxZE=",
|
"narHash": "sha256-pDNzMoR6m1ZSJToZQ6XDTLVSdzIzmFl1b8Pc3f7iV6Y=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nix-index-database",
|
"repo": "nix-index-database",
|
||||||
"rev": "66537fb185462ba9b07f4e6f2d54894a1b2d04ab",
|
"rev": "2cfb4e1ca32f59dd2811d7a6dd5d4d1225f0955c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -678,11 +678,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1740947705,
|
"lastModified": 1742217219,
|
||||||
"narHash": "sha256-Co2kAD2SZalOm+5zoxmzEVZNvZ17TyafuFsD46BwSdY=",
|
"narHash": "sha256-pLRjj0jTL1TloB0ptEwVF51IJJX8a17dSxg+gqiWb30=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixos-generators",
|
"repo": "nixos-generators",
|
||||||
"rev": "507911df8c35939050ae324caccc7cf4ffb76565",
|
"rev": "83900d5154d840dfae1e0367c5290f59b9dccf03",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -693,11 +693,11 @@
|
|||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741792691,
|
"lastModified": 1742376361,
|
||||||
"narHash": "sha256-f0BVt1/cvA0DQ/q3rB+HY4g4tKksd03ZkzI4xehC2Ew=",
|
"narHash": "sha256-VFMgJkp/COvkt5dnkZB4D2szVdmF6DGm5ZdVvTUy61c=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "e1f12151258b12c567f456d8248e4694e9390613",
|
"rev": "daaae13dff0ecc692509a1332ff9003d9952d7a9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -724,11 +724,11 @@
|
|||||||
},
|
},
|
||||||
"nixos-unstable": {
|
"nixos-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741851582,
|
"lastModified": 1742422364,
|
||||||
"narHash": "sha256-cPfs8qMccim2RBgtKGF+x9IBCduRvd/N5F4nYpU0TVE=",
|
"narHash": "sha256-mNqIplmEohk5jRkqYqG19GA8MbQ/D4gQSK0Mu4LvfRQ=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "6607cf789e541e7873d40d3a8f7815ea92204f32",
|
"rev": "a84ebe20c6bc2ecbcfb000a50776219f48d134cc",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -740,11 +740,11 @@
|
|||||||
},
|
},
|
||||||
"nixos-unstable-small": {
|
"nixos-unstable-small": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741874442,
|
"lastModified": 1742450798,
|
||||||
"narHash": "sha256-NBj9G0yQ7FVqC8Pi61+D6Jv2EfJ9TRpHI301fgVzQn0=",
|
"narHash": "sha256-lfOAAaX68Ed7R6Iy2nbFAkGj6B8kHBp3nqZhgZjxR5c=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "01f44b8389188522fba255168c70eda093867746",
|
"rev": "b64ec1944ea40d9f3920f938e17ed39a9978c6c7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -762,11 +762,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741870048,
|
"lastModified": 1742481215,
|
||||||
"narHash": "sha256-odXRdNZGdXg1LmwlAeWL85kgy/FVHsgKlDwrvbR2BsU=",
|
"narHash": "sha256-m7I/2UaGEFOI+Cy0RoADBi10NZt1WD5N3q2jUwPprE4=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NixOS-WSL",
|
"repo": "NixOS-WSL",
|
||||||
"rev": "5d76001e33ee19644a598ad80e7318ab0957b122",
|
"rev": "96d7df91cce0d7cd30d1958fe1aefcb5f9bfced7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -777,11 +777,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741851582,
|
"lastModified": 1742422364,
|
||||||
"narHash": "sha256-cPfs8qMccim2RBgtKGF+x9IBCduRvd/N5F4nYpU0TVE=",
|
"narHash": "sha256-mNqIplmEohk5jRkqYqG19GA8MbQ/D4gQSK0Mu4LvfRQ=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "6607cf789e541e7873d40d3a8f7815ea92204f32",
|
"rev": "a84ebe20c6bc2ecbcfb000a50776219f48d134cc",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -808,11 +808,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741862977,
|
"lastModified": 1742388435,
|
||||||
"narHash": "sha256-prZ0M8vE/ghRGGZcflvxCu40ObKaB+ikn74/xQoNrGQ=",
|
"narHash": "sha256-GheQGRNYAhHsvPxWVOhAmg9lZKkis22UPbEHlmZMthg=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "cdd2ef009676ac92b715ff26630164bb88fec4e0",
|
"rev": "b75693fb46bfaf09e662d09ec076c5a162efa9f6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -824,11 +824,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741865919,
|
"lastModified": 1742395137,
|
||||||
"narHash": "sha256-4thdbnP6dlbdq+qZWTsm4ffAwoS8Tiq1YResB+RP6WE=",
|
"narHash": "sha256-WWNNjCSzQCtATpCFEijm81NNG1xqlLMVbIzXAiZysbs=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "573c650e8a14b2faa0041645ab18aed7e60f0c9a",
|
"rev": "2a725d40de138714db4872dc7405d86457aa17ad",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -877,11 +877,11 @@
|
|||||||
"nuschtosSearch": "nuschtosSearch"
|
"nuschtosSearch": "nuschtosSearch"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741709061,
|
"lastModified": 1742488644,
|
||||||
"narHash": "sha256-G1YTksB0CnVhpU1gEmvO3ugPS5CAmUpm5UtTIUIPnEI=",
|
"narHash": "sha256-vXpu7G4aupNCPlv8kAo7Y/jocfSUwglkvNx5cR0XjBo=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixvim",
|
"repo": "nixvim",
|
||||||
"rev": "3a3abf11700f76738d8ad9d15054ceaf182d2974",
|
"rev": "d44b33a1ea1a3e584a8c93164dbe0ba2ad4f3a13",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -897,11 +897,11 @@
|
|||||||
"treefmt-nix": "treefmt-nix_3"
|
"treefmt-nix": "treefmt-nix_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741924094,
|
"lastModified": 1742529237,
|
||||||
"narHash": "sha256-NfObVoPh3ltaz/C9Nj8NaZ6YadtfoVnBGltWl6f+BQs=",
|
"narHash": "sha256-CZIrtAOiweXQexbHh070ddb/1HbH0ymWb7CwkVqzJRo=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "9ec063aa0dc0c12433705221947e3316a8991ba3",
|
"rev": "6b5c2c6a13c89b965ed2d123b70e3e792667ed89",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -920,11 +920,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1738508923,
|
"lastModified": 1741886583,
|
||||||
"narHash": "sha256-4DaDrQDAIxlWhTjH6h/+xfG05jt3qDZrZE/7zDLQaS4=",
|
"narHash": "sha256-sScfYKtxp3CYv5fJcHQDvQjqBL+tPNQqS9yf9Putd+s=",
|
||||||
"owner": "NuschtOS",
|
"owner": "NuschtOS",
|
||||||
"repo": "search",
|
"repo": "search",
|
||||||
"rev": "86e2038290859006e05ca7201425ea5b5de4aecb",
|
"rev": "2974bc5fa3441a319fba943f3ca41f7dcd1a1467",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -997,11 +997,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741861888,
|
"lastModified": 1742406979,
|
||||||
"narHash": "sha256-ynOgXAyToeE1UdLNfrUn/hL7MN0OpIS2BtNdLjpjPf0=",
|
"narHash": "sha256-r0aq70/3bmfjTP+JZs4+XV5SgmCtk1BLU4CQPWGtA7o=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "d016ce0365b87d848a57c12ffcfdc71da7a2b55f",
|
"rev": "1770be8ad89e41f1ed5a60ce628dd10877cb3609",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -1078,11 +1078,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1739829690,
|
"lastModified": 1742370146,
|
||||||
"narHash": "sha256-mL1szCeIsjh6Khn3nH2cYtwO5YXG6gBiTw1A30iGeDU=",
|
"narHash": "sha256-XRE8hL4vKIQyVMDXykFh4ceo3KSpuJF3ts8GKwh5bIU=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "treefmt-nix",
|
"repo": "treefmt-nix",
|
||||||
"rev": "3d0579f5cc93436052d94b73925b48973a104204",
|
"rev": "adc195eef5da3606891cedf80c0d9ce2d3190808",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -1153,11 +1153,11 @@
|
|||||||
},
|
},
|
||||||
"wrapper-manager-fds": {
|
"wrapper-manager-fds": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1740994401,
|
"lastModified": 1742274317,
|
||||||
"narHash": "sha256-A1yAH8DQA3Knon7uvLjXGaMKXJQc56x0hcrSRXSfwbY=",
|
"narHash": "sha256-AJhEE9IQGy+e+2M0sgcXkUyK6jzgzb9gfNXTpr08rUA=",
|
||||||
"owner": "foo-dogsquared",
|
"owner": "foo-dogsquared",
|
||||||
"repo": "nix-module-wrapper-manager-fds",
|
"repo": "nix-module-wrapper-manager-fds",
|
||||||
"rev": "209c9c58b7d1084f0fcadf63d56564e5e91139e1",
|
"rev": "f8bbdc93a239f0f28d8cbe73ce03810952fdad04",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -13,6 +13,11 @@ in pkgs.lib.makeExtensible (self:
|
|||||||
trivial = callLib ./trivial.nix;
|
trivial = callLib ./trivial.nix;
|
||||||
data = callLib ./data.nix;
|
data = callLib ./data.nix;
|
||||||
math = callLib ./math.nix;
|
math = callLib ./math.nix;
|
||||||
|
xdg = callLib ./xdg.nix;
|
||||||
|
|
||||||
|
# Just like from its inspiration, this contains Nix-representable data
|
||||||
|
# formats and won't have any attributes exported at the top-level.
|
||||||
|
formats = callLib ./formats.nix;
|
||||||
|
|
||||||
# For future references, these are the only attributes that are going to be
|
# For future references, these are the only attributes that are going to be
|
||||||
# exported as part of nixpkgs overlay.
|
# exported as part of nixpkgs overlay.
|
||||||
@ -43,6 +48,7 @@ in pkgs.lib.makeExtensible (self:
|
|||||||
inherit (self.trivial) countAttrs filterAttrs';
|
inherit (self.trivial) countAttrs filterAttrs';
|
||||||
inherit (self.data) importYAML renderTeraTemplate renderMustacheTemplate;
|
inherit (self.data) importYAML renderTeraTemplate renderMustacheTemplate;
|
||||||
inherit (self.fetchers) fetchInternetArchive fetchUgeeDriver;
|
inherit (self.fetchers) fetchInternetArchive fetchUgeeDriver;
|
||||||
|
inherit (self.xdg) getXdgDesktop;
|
||||||
} // lib.optionalAttrs (builtins ? fetchTree) {
|
} // lib.optionalAttrs (builtins ? fetchTree) {
|
||||||
flake = callLib ./flake.nix;
|
flake = callLib ./flake.nix;
|
||||||
|
|
||||||
|
21
lib/formats.nix
Normal file
21
lib/formats.nix
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{ lib, pkgs, self }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# The gnome-session config files uses one from GLib. See the following link
|
||||||
|
# at <https://docs.gtk.org/glib/struct.KeyFile.html> for details about the
|
||||||
|
# keyfile formatting and possibly the Desktop Entry specification at
|
||||||
|
# <https://freedesktop.org/wiki/Specifications/desktop-entry-spec>.
|
||||||
|
glibKeyfile = {}: {
|
||||||
|
type = with lib.types;
|
||||||
|
let
|
||||||
|
valueType = oneOf [ bool float int str (listOf valueType) ] // {
|
||||||
|
description =
|
||||||
|
"GLib keyfile atom (bool, int, float, string, or a list of the previous atoms)";
|
||||||
|
};
|
||||||
|
in attrsOf (attrsOf valueType);
|
||||||
|
|
||||||
|
generate = name: value:
|
||||||
|
pkgs.callPackage
|
||||||
|
({ lib, writeText }: writeText name (lib.generators.toDconfINI value));
|
||||||
|
};
|
||||||
|
}
|
31
lib/xdg.nix
Normal file
31
lib/xdg.nix
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
{ pkgs, lib, self }:
|
||||||
|
|
||||||
|
rec {
|
||||||
|
/**
|
||||||
|
Naively get the absolute path of a `.desktop` file given a derivation and a
|
||||||
|
name.
|
||||||
|
|
||||||
|
# Arguments
|
||||||
|
|
||||||
|
drv
|
||||||
|
: The derivation.
|
||||||
|
|
||||||
|
name
|
||||||
|
: The name of the `.desktop` file (without the `.desktop` extension).
|
||||||
|
|
||||||
|
# Type
|
||||||
|
|
||||||
|
```
|
||||||
|
getXdgDesktop :: Derivation -> String -> Path
|
||||||
|
```
|
||||||
|
|
||||||
|
# Example
|
||||||
|
|
||||||
|
```nix
|
||||||
|
getXdgDesktop pkgs.wezterm "org.wezfurlong.wezterm"
|
||||||
|
=> /nix/store/$HASH-wezterm-org.wezterm.wezterm.desktop
|
||||||
|
```
|
||||||
|
*/
|
||||||
|
getXdgDesktop = drv: name:
|
||||||
|
"${drv}/share/applications/${name}.desktop";
|
||||||
|
}
|
@ -38,19 +38,11 @@ in {
|
|||||||
(lib.mkIf cfg.vscode.enable {
|
(lib.mkIf cfg.vscode.enable {
|
||||||
programs.vscode = {
|
programs.vscode = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extensions = with pkgs.vscode-extensions; [
|
|
||||||
# All the niceties for developmenties.
|
|
||||||
ms-vscode-remote.vscode-remote-extensionpack
|
|
||||||
ms-vsliveshare.vsliveshare
|
|
||||||
tailscale.vscode-tailscale
|
|
||||||
|
|
||||||
# The other niceties.
|
|
||||||
vscode-icons-team.vscode-icons
|
|
||||||
];
|
|
||||||
|
|
||||||
# Yay! Thank you!
|
# Yay! Thank you!
|
||||||
mutableExtensionsDir = true;
|
mutableExtensionsDir = true;
|
||||||
|
|
||||||
|
profiles.default = {
|
||||||
userSettings = {
|
userSettings = {
|
||||||
# Editor configurations.
|
# Editor configurations.
|
||||||
"editor.fontFamily" = "monospace";
|
"editor.fontFamily" = "monospace";
|
||||||
@ -74,6 +66,17 @@ in {
|
|||||||
"gitlens.showWelcomeOnInstall" = false;
|
"gitlens.showWelcomeOnInstall" = false;
|
||||||
"gitlens.plusFeatures.enabled" = false;
|
"gitlens.plusFeatures.enabled" = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
extensions = with pkgs.vscode-extensions; [
|
||||||
|
# All the niceties for developmenties.
|
||||||
|
ms-vscode-remote.vscode-remote-extensionpack
|
||||||
|
ms-vsliveshare.vsliveshare
|
||||||
|
tailscale.vscode-tailscale
|
||||||
|
|
||||||
|
# The other niceties.
|
||||||
|
vscode-icons-team.vscode-icons
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg.mimeApps.defaultApplications = {
|
xdg.mimeApps.defaultApplications = {
|
||||||
|
@ -20,6 +20,9 @@ clock-format = '24h'
|
|||||||
|
|
||||||
[org/gnome/desktop/privacy]
|
[org/gnome/desktop/privacy]
|
||||||
disable-microphone = false
|
disable-microphone = false
|
||||||
|
max-age = 30
|
||||||
|
remove-old-temp-files = true
|
||||||
|
remove-old-trash-files = true
|
||||||
|
|
||||||
[org/gnome/shell]
|
[org/gnome/shell]
|
||||||
disable-user-extensions = false
|
disable-user-extensions = false
|
||||||
|
@ -36,6 +36,7 @@ in {
|
|||||||
paperwm
|
paperwm
|
||||||
runcat
|
runcat
|
||||||
windownavigator
|
windownavigator
|
||||||
|
valent
|
||||||
];
|
];
|
||||||
example = lib.literalExpression ''
|
example = lib.literalExpression ''
|
||||||
with pkgs.gnomeExtensions; [
|
with pkgs.gnomeExtensions; [
|
||||||
@ -72,11 +73,12 @@ in {
|
|||||||
shortwave # Yer' humble internet radio.
|
shortwave # Yer' humble internet radio.
|
||||||
tangram # Your social media manager, probably.
|
tangram # Your social media manager, probably.
|
||||||
ymuse # Simple MPD client.
|
ymuse # Simple MPD client.
|
||||||
|
valent # ...ines 'tis season to share... phone data or something.
|
||||||
|
|
||||||
gnome-backgrounds # Default backgrounds.
|
gnome-backgrounds # Default backgrounds.
|
||||||
|
|
||||||
gnome-menus # It is required for custom menus in extensions.
|
gnome-menus # It is required for custom menus in extensions.
|
||||||
#gnome-extension-manager # The cooler GNOME extensions app.
|
gnome-extension-manager # The cooler GNOME extensions app.
|
||||||
gnome-search-provider-recoll # This is here for some reason.
|
gnome-search-provider-recoll # This is here for some reason.
|
||||||
|
|
||||||
# Nautilus extensions
|
# Nautilus extensions
|
||||||
|
@ -23,7 +23,7 @@ let
|
|||||||
|
|
||||||
generate = name: value:
|
generate = name: value:
|
||||||
pkgs.callPackage
|
pkgs.callPackage
|
||||||
({ writeText }: writeText name (lib.generators.toDconfINI value));
|
({ writeText, lib }: writeText name (lib.generators.toDconfINI value)) { };
|
||||||
};
|
};
|
||||||
|
|
||||||
# The bulk of the work. Pretty much the main purpose of this module.
|
# The bulk of the work. Pretty much the main purpose of this module.
|
||||||
@ -111,8 +111,8 @@ in {
|
|||||||
options.programs.gnome-session = {
|
options.programs.gnome-session = {
|
||||||
package = lib.mkOption {
|
package = lib.mkOption {
|
||||||
type = lib.types.package;
|
type = lib.types.package;
|
||||||
default = pkgs.gnome.gnome-session;
|
default = pkgs.gnome-session;
|
||||||
defaultText = "pkgs.gnome.gnome-session";
|
defaultText = "pkgs.gnome-session";
|
||||||
description = ''
|
description = ''
|
||||||
The package containing gnome-session binary and systemd units. This
|
The package containing gnome-session binary and systemd units. This
|
||||||
module will use the `gnome-session` executable for the generated
|
module will use the `gnome-session` executable for the generated
|
||||||
|
@ -20,7 +20,6 @@ in lib.makeScope pkgs.newScope (self: {
|
|||||||
fastn = callPackage ./fastn { };
|
fastn = callPackage ./fastn { };
|
||||||
flatsync = callPackage ./flatsync { };
|
flatsync = callPackage ./flatsync { };
|
||||||
freerct = callPackage ./freerct.nix { };
|
freerct = callPackage ./freerct.nix { };
|
||||||
distant = callPackage ./distant.nix { };
|
|
||||||
gnome-search-provider-recoll =
|
gnome-search-provider-recoll =
|
||||||
callPackage ./gnome-search-provider-recoll.nix { };
|
callPackage ./gnome-search-provider-recoll.nix { };
|
||||||
#graphite-design-tool = callPackage ./graphite-design-tool { };
|
#graphite-design-tool = callPackage ./graphite-design-tool { };
|
||||||
@ -50,7 +49,7 @@ in lib.makeScope pkgs.newScope (self: {
|
|||||||
#purrdata = callPackage ./purr-data { };
|
#purrdata = callPackage ./purr-data { };
|
||||||
speki = callPackage ./speki { };
|
speki = callPackage ./speki { };
|
||||||
sqlc-gen-from-template = callPackage ./sqlc-gen-from-template { };
|
sqlc-gen-from-template = callPackage ./sqlc-gen-from-template { };
|
||||||
tic-80 = callPackage ./tic-80 { };
|
tic-80-unstable = callPackage ./tic-80 { };
|
||||||
smile = callPackage ./smile { };
|
smile = callPackage ./smile { };
|
||||||
sessiond = callPackage ./sessiond { };
|
sessiond = callPackage ./sessiond { };
|
||||||
uwsm = callPackage ./uwsm { };
|
uwsm = callPackage ./uwsm { };
|
||||||
|
@ -1,30 +0,0 @@
|
|||||||
{ stdenv, lib, rustPlatform, fetchFromGitHub, pkg-config, openssl }:
|
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
|
||||||
version = "0.20.0";
|
|
||||||
pname = "distant";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "chipsenkbeil";
|
|
||||||
repo = "distant";
|
|
||||||
rev = "v${version}";
|
|
||||||
hash = "sha256-DcnleJUAeYg3GSLZljC3gO9ihiFz04dzT/ddMnypr48=";
|
|
||||||
};
|
|
||||||
cargoHash = "sha256-7MNNdm4b9u5YNX04nBtKcrw+phUlpzIXo0tJVfcgb40=";
|
|
||||||
|
|
||||||
# Too many tests failing for now so we'll have to disable them. Much of the
|
|
||||||
# failed tests require a home directory and network access.
|
|
||||||
doCheck = false;
|
|
||||||
|
|
||||||
# We'll just tell to use the system's openssl to build openssl-sys.
|
|
||||||
env.OPENSSL_NO_VENDOR = 1;
|
|
||||||
nativeBuildInputs = [ pkg-config ];
|
|
||||||
buildInputs = [ openssl ];
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "Remotely edit files and run programs";
|
|
||||||
homepage = "https://github.com/chipsenkbeil/distant";
|
|
||||||
license = lib.licenses.mit;
|
|
||||||
maintainers = with maintainers; [ foo-dogsquared ];
|
|
||||||
};
|
|
||||||
}
|
|
@ -2,10 +2,10 @@
|
|||||||
{
|
{
|
||||||
"cookies-txt" = buildFirefoxXpiAddon {
|
"cookies-txt" = buildFirefoxXpiAddon {
|
||||||
pname = "cookies-txt";
|
pname = "cookies-txt";
|
||||||
version = "0.7";
|
version = "0.8";
|
||||||
addonId = "{12cf650b-1822-40aa-bff0-996df6948878}";
|
addonId = "{12cf650b-1822-40aa-bff0-996df6948878}";
|
||||||
url = "https://addons.mozilla.org/firefox/downloads/file/4368538/cookies_txt-0.7.xpi";
|
url = "https://addons.mozilla.org/firefox/downloads/file/4451023/cookies_txt-0.8.xpi";
|
||||||
sha256 = "04ff7cf1fbebdba3c112fbd4d4ea83f90a08d8a267e63d44cca210659080930e";
|
sha256 = "0cfa85e4f1defc0f0e72c4b7a26372d7890d52780e555b868ef4a3759d7bc3ec";
|
||||||
meta = with lib;
|
meta = with lib;
|
||||||
{
|
{
|
||||||
description = "Exports all cookies to a Netscape HTTP Cookie File, as used by curl, wget, and youtube-dl, among others.";
|
description = "Exports all cookies to a Netscape HTTP Cookie File, as used by curl, wget, and youtube-dl, among others.";
|
||||||
@ -204,6 +204,21 @@
|
|||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
"tineye-reverse-image-search" = buildFirefoxXpiAddon {
|
||||||
|
pname = "tineye-reverse-image-search";
|
||||||
|
version = "2.0.9";
|
||||||
|
addonId = "tineye@ideeinc.com";
|
||||||
|
url = "https://addons.mozilla.org/firefox/downloads/file/4452436/tineye_reverse_image_search-2.0.9.xpi";
|
||||||
|
sha256 = "6693b267ca060df38112b3a7214932abfbd07424f7db235eba6e3752cbd5c297";
|
||||||
|
meta = with lib;
|
||||||
|
{
|
||||||
|
homepage = "https://tineye.com/";
|
||||||
|
description = "Click on any image on the web to search for it on TinEye. Recommended by Firefox! \r\nDiscover where an image came from, see how it is being used, check if modified versions exist or locate high resolution versions. Made with love by the TinEye team.";
|
||||||
|
license = licenses.mit;
|
||||||
|
mozPermissions = [ "menus" "storage" "scripting" "activeTab" ];
|
||||||
|
platforms = platforms.all;
|
||||||
|
};
|
||||||
|
};
|
||||||
"tor-control" = buildFirefoxXpiAddon {
|
"tor-control" = buildFirefoxXpiAddon {
|
||||||
pname = "tor-control";
|
pname = "tor-control";
|
||||||
version = "0.1.5";
|
version = "0.1.5";
|
||||||
|
@ -2,16 +2,17 @@
|
|||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "pop-launcher-plugin-jetbrains";
|
pname = "pop-launcher-plugin-jetbrains";
|
||||||
version = "2022-08-07";
|
version = "2024-04-04";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "oknozor";
|
owner = "oknozor";
|
||||||
repo = "pop-launcher-jetbrains-plugin";
|
repo = "pop-launcher-jetbrains-plugin";
|
||||||
rev = "9883ee1361c2de0bdd8ba4438a8e854303cdece6";
|
rev = "18a3d3d32c5760ad2086380a47f684c7b12b5d68";
|
||||||
sha256 = "sha256-yvkKZTulgDqr2k9M1rEEHc52IDcqMw9UA3xe/HOLD9M";
|
hash = "sha256-lBv1jwekbod3H1ANzAEKAHDNHdRb3LD2PM1LXiLErv8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "sha256-WuqRU+dkRVGQL+fb3utcuS4HZRTGkBtcnri7lqO9rZk=";
|
cargoHash = "sha256-d54PlaKZaDhQ6PI/J1+IOMqgC/h5XUuEkULLbSTIcUw=";
|
||||||
|
useFetchCargoVendor = true;
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
install -Dm644 plugin.ron -t "$out/share/pop-launcher/plugins/jetbrains"
|
install -Dm644 plugin.ron -t "$out/share/pop-launcher/plugins/jetbrains"
|
||||||
|
@ -4,33 +4,32 @@ with python3Packages;
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "swh-auth";
|
pname = "swh-auth";
|
||||||
version = "0.7.2";
|
version = "0.10.0";
|
||||||
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit version;
|
inherit version;
|
||||||
pname = "swh.auth";
|
pname = "swh_auth";
|
||||||
sha256 = "sha256-f0++AuyJggoc19kPA/7UChbFjF/EoR+FztF00r5csLo=";
|
hash = "sha256-J/5oFm0QSPNeEDKIYHEzSXWA/6uSOj9eu3LXYUTZjC0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Tests require network access.
|
# Tests require network access.
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
django
|
|
||||||
djangorestframework
|
|
||||||
sentry-sdk
|
|
||||||
click
|
click
|
||||||
pyyaml
|
pyyaml
|
||||||
(python-keycloak.overrideAttrs (final: prev: rec {
|
python-keycloak
|
||||||
version = "3.3.0";
|
|
||||||
src = pkgs.fetchPypi {
|
# Requirements for Django
|
||||||
inherit version;
|
django
|
||||||
pname = "python_keycloak";
|
djangorestframework
|
||||||
hash = "sha256-zIaBJvU1qk8yDcnqsk5GrzgcE7zIjZsHAbBCk+p1zSQ=";
|
sentry-sdk_2
|
||||||
};
|
|
||||||
propagatedBuildInputs = prev.propagatedBuildInputs
|
# Requirements for Starlette
|
||||||
++ [ setuptools deprecation ];
|
starlette
|
||||||
}))
|
httpx
|
||||||
|
aiocache
|
||||||
|
|
||||||
swh-core
|
swh-core
|
||||||
];
|
];
|
||||||
|
@ -3,12 +3,13 @@
|
|||||||
with python3Packages;
|
with python3Packages;
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "swh-core";
|
pname = "swh-core";
|
||||||
version = "2.24.0";
|
version = "4.0.0";
|
||||||
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit version;
|
inherit version;
|
||||||
pname = "swh.core";
|
pname = "swh_core";
|
||||||
sha256 = "sha256-62xFSPxW/XvK5v1i4RA7Iwrr4V5nfxrs+PGHHC56trQ=";
|
hash = "sha256-da0Kx/pyHybW8oSIyH0/UqivGkSsvnQe7OoVY2p0glA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Tests require network access.
|
# Tests require network access.
|
||||||
@ -19,7 +20,7 @@ buildPythonPackage rec {
|
|||||||
deprecated
|
deprecated
|
||||||
pyyaml
|
pyyaml
|
||||||
python-magic
|
python-magic
|
||||||
sentry-sdk
|
sentry-sdk_2
|
||||||
|
|
||||||
# swh.core.db
|
# swh.core.db
|
||||||
psycopg2
|
psycopg2
|
||||||
@ -36,6 +37,7 @@ buildPythonPackage rec {
|
|||||||
flask
|
flask
|
||||||
iso8601
|
iso8601
|
||||||
msgpack
|
msgpack
|
||||||
|
backports-entry-points-selectable
|
||||||
|
|
||||||
setuptools-scm
|
setuptools-scm
|
||||||
];
|
];
|
||||||
|
@ -3,12 +3,13 @@
|
|||||||
with python3Packages;
|
with python3Packages;
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "swh-fuse";
|
pname = "swh-fuse";
|
||||||
version = "1.0.6";
|
version = "1.1.0";
|
||||||
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit version;
|
inherit version;
|
||||||
pname = "swh.fuse";
|
pname = "swh.fuse";
|
||||||
sha256 = "sha256-b1k4XJxaSGrdqQnKnu6EAaZoEVkdZqjt0vd6k+q+H3k=";
|
hash = "sha256-pkTZiUm+Sun+7gBNWXJUHUXTmEIz5tjvfGcU4cUL9Xg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
@ -3,18 +3,17 @@
|
|||||||
with python3Packages;
|
with python3Packages;
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "swh-model";
|
pname = "swh-model";
|
||||||
version = "6.7.0";
|
version = "7.1.0";
|
||||||
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit version;
|
inherit version;
|
||||||
pname = "swh.model";
|
pname = "swh_model";
|
||||||
sha256 = "sha256-88xlN/vGXMG858+0A1Wb4EIYC9btRTopY7Ryvw/huDo=";
|
hash = "sha256-MdyhpKm4UzIFVMhIlAT75OMUmfDcOFZzk/dJIZASwmE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
click
|
|
||||||
dulwich
|
|
||||||
deprecated
|
deprecated
|
||||||
typing-extensions
|
typing-extensions
|
||||||
hypothesis
|
hypothesis
|
||||||
@ -22,8 +21,14 @@ buildPythonPackage rec {
|
|||||||
python-dateutil
|
python-dateutil
|
||||||
attrs
|
attrs
|
||||||
attrs-strict
|
attrs-strict
|
||||||
|
aiohttp
|
||||||
|
pytz
|
||||||
|
|
||||||
swh-core
|
swh-core
|
||||||
|
|
||||||
|
# requirements for CLI
|
||||||
|
click
|
||||||
|
dulwich
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
@ -3,12 +3,13 @@
|
|||||||
with python3Packages;
|
with python3Packages;
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "swh-web-client";
|
pname = "swh-web-client";
|
||||||
version = "0.6.0";
|
version = "0.9.0";
|
||||||
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit version;
|
inherit version;
|
||||||
pname = "swh.web.client";
|
pname = "swh_web_client";
|
||||||
sha256 = "sha256-o1FcJh3nmGXWZABRQQUj3qgDPaHXwfazaBv8f3LENpk=";
|
hash = "sha256-nBFbWJ7qLGtnxy2iryWfsi4n4XuxVddqBdtzPFtUQ5w=";
|
||||||
};
|
};
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
@ -1,63 +1,92 @@
|
|||||||
# Build the TIC-80 virtual computer console with the PRO version. The
|
# Build the TIC-80 virtual computer console with the PRO version. The
|
||||||
# developers are kind enough to make it easy to compile it if you know
|
# developers are kind enough to make it easy to compile it if you know
|
||||||
# how.
|
# how.
|
||||||
{ stdenv, lib, SDL2, SDL2_sound, alsa-lib, cmake, fetchFromGitHub, freeglut, git
|
{ stdenv, lib, giflib, SDL2, SDL2_sound, sdl2-compat, alsa-lib, argparse, curl
|
||||||
, gtk3, dbus, libGLU, libX11, libglvnd, libsamplerate, mesa, pkg-config, sndio
|
, cmake, fetchFromGitHub, freeglut, git, gtk3, dbus, libGLU, libX11, libglvnd
|
||||||
, zlib
|
, libsamplerate, mesa, pkg-config, sndio, zlib, lua54Packages
|
||||||
|
|
||||||
, pulseaudioSupport ? stdenv.isLinux, libpulseaudio
|
, pulseaudioSupport ? stdenv.isLinux, libpulseaudio
|
||||||
|
|
||||||
, waylandSupport ? true, wayland, libxkbcommon, libdecor
|
, jsSupport ? true, quickjs
|
||||||
|
|
||||||
|
, waylandSupport ? true, wayland, wayland-scanner, libxkbcommon, libdecor
|
||||||
|
|
||||||
, esoundSupport ? true, espeak
|
, esoundSupport ? true, espeak
|
||||||
|
|
||||||
, jackSupport ? true, jack2
|
, jackSupport ? true, jack2
|
||||||
|
|
||||||
# Ruby support requires compiling mruby so we'll skip it for now.
|
# As of 2025-03-26, it is basically required to have a very specific version of
|
||||||
, rubySupport ? false, ruby, rake
|
# mruby so no...
|
||||||
|
, rubySupport ? false, mruby
|
||||||
|
|
||||||
, pythonSupport ? true, python3
|
, pythonSupport ? true
|
||||||
|
|
||||||
|
, janetSupport ? true, janet
|
||||||
|
|
||||||
|
# This doesn't have the appropriate system library as of nixpkgs 2025-03-26, btw.
|
||||||
|
, wasmSupport ? true, wasm
|
||||||
|
|
||||||
, withPro ? true }:
|
, withPro ? true }:
|
||||||
|
|
||||||
# TODO: Fix the timestamp in the help section.
|
# TODO: Fix the timestamp in the help section.
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "tic-80";
|
pname = "tic-80";
|
||||||
version = "unstable-2023-07-18";
|
version = "unstable-2025-03-27";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "nesbox";
|
owner = "nesbox";
|
||||||
repo = "TIC-80";
|
repo = "TIC-80";
|
||||||
rev = "68b94ee596e1ac218b8b9685fd0485c7ee8d2f18";
|
rev = "5aa6c536607a5512ce1913acf3be7be8784fd8db";
|
||||||
hash = "sha256-S3LYuRRFMZYl6dENrV21bowzo7smm+zSHXt77/83oL0=";
|
hash = "sha256-oPubH/dPGDK/ZPY6NjycytAYY4PD2H9MbJg7jGBz3aI=";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake pkg-config ];
|
nativeBuildInputs = [ cmake pkg-config ];
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
argparse
|
||||||
alsa-lib
|
alsa-lib
|
||||||
|
curl
|
||||||
freeglut
|
freeglut
|
||||||
gtk3
|
gtk3
|
||||||
|
giflib
|
||||||
libsamplerate
|
libsamplerate
|
||||||
libGLU
|
libGLU
|
||||||
libglvnd
|
libglvnd
|
||||||
|
lua54Packages.lua
|
||||||
mesa
|
mesa
|
||||||
git
|
git
|
||||||
|
sdl2-compat
|
||||||
SDL2
|
SDL2
|
||||||
SDL2_sound
|
SDL2_sound
|
||||||
zlib
|
zlib
|
||||||
sndio
|
sndio
|
||||||
] ++ lib.optional pulseaudioSupport libpulseaudio
|
] ++ lib.optionals pulseaudioSupport [ libpulseaudio ]
|
||||||
++ lib.optional jackSupport jack2 ++ lib.optional esoundSupport espeak
|
++ lib.optionals jackSupport [ jack2 ]
|
||||||
++ lib.optionals rubySupport [ ruby rake ]
|
++ lib.optionals jsSupport [ quickjs ]
|
||||||
++ lib.optional pythonSupport python3
|
++ lib.optionals esoundSupport [ espeak ]
|
||||||
|
++ lib.optionals rubySupport [ mruby ]
|
||||||
|
++ lib.optionals janetSupport [ janet ]
|
||||||
|
++ lib.optionals wasmSupport [ wasm ]
|
||||||
++ lib.optionals (stdenv.isLinux && waylandSupport) [
|
++ lib.optionals (stdenv.isLinux && waylandSupport) [
|
||||||
wayland
|
wayland
|
||||||
|
wayland-scanner
|
||||||
libxkbcommon
|
libxkbcommon
|
||||||
libdecor
|
libdecor
|
||||||
];
|
];
|
||||||
|
|
||||||
cmakeFlags = lib.optional withPro "-DBUILD_PRO=ON";
|
cmakeFlags =
|
||||||
|
# Just leave the tinier libraries alone for this.
|
||||||
|
[
|
||||||
|
"-DPREFER_SYSTEM_LIBRARIES=ON"
|
||||||
|
"-DBUILD_WITH_FENNEL=ON"
|
||||||
|
"-DBUILD_WITH_MOON=ON"
|
||||||
|
"-DBUILD_WITH_SCHEME=ON"
|
||||||
|
] ++ lib.optionals withPro [ "-DBUILD_PRO=ON" ]
|
||||||
|
++ lib.optionals jsSupport [ "-DBUILD_WITH_JS=ON" ]
|
||||||
|
++ lib.optionals rubySupport [ "-DBUILD_WITH_RUBY=ON" ]
|
||||||
|
++ lib.optionals pythonSupport [ "-DBUILD_WITH_PYTHON=ON" ]
|
||||||
|
++ lib.optionals wasmSupport [ "-DBUILD_WITH_WASM=ON" ]
|
||||||
|
++ lib.optionals janetSupport [ "-DBUILD_WITH_JANET=ON" ];
|
||||||
|
|
||||||
# Export all of the TIC-80-related utilities.
|
# Export all of the TIC-80-related utilities.
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
@ -27,6 +27,7 @@ in {
|
|||||||
trivial = callLib ./trivial.nix;
|
trivial = callLib ./trivial.nix;
|
||||||
data = callLib ./data;
|
data = callLib ./data;
|
||||||
math = callLib ./math.nix;
|
math = callLib ./math.nix;
|
||||||
|
xdg = callLib ./xdg.nix;
|
||||||
|
|
||||||
# Environment-specific subset.
|
# Environment-specific subset.
|
||||||
home-manager = callLib ./home-manager.nix;
|
home-manager = callLib ./home-manager.nix;
|
||||||
|
14
tests/lib/xdg.nix
Normal file
14
tests/lib/xdg.nix
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{ pkgs, lib, self }:
|
||||||
|
|
||||||
|
lib.runTests {
|
||||||
|
testGetXdgDesktop = {
|
||||||
|
expr = self.xdg.getXdgDesktop pkgs.wezterm "org.wezfurlong.wezterm";
|
||||||
|
expected = "${pkgs.wezterm}/share/applications/org.wezfurlong.wezterm.desktop";
|
||||||
|
};
|
||||||
|
|
||||||
|
# This should be a naive function so it should just naively get things.
|
||||||
|
testGetXdgDesktop2 = {
|
||||||
|
expr = self.xdg.getXdgDesktop pkgs.hello "non-existing-desktop";
|
||||||
|
expected = "${pkgs.hello}/share/applications/non-existing-desktop.desktop";
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user