Skip to content

Commit

Permalink
chore: add nix dev environment (#86)
Browse files Browse the repository at this point in the history
* WIP attempt at running nix flake

* add git to fix issue with openssl 3 linking

* node setup

* Nix flakes for stump

* fix github actions

* fix github actions

* add comment

* nix flake in ci

* comments

* hopefully fix nix ci build

* oups

* comments

* Update build_nix.yml

* Update build_nix.yml

* Update build_nix.yml

* Update build_nix.yml
  • Loading branch information
f8thl3ss committed Jan 15, 2023
1 parent 840fa9a commit f8e3dfc
Show file tree
Hide file tree
Showing 14 changed files with 978 additions and 158 deletions.
1 change: 0 additions & 1 deletion .github/actions/setup-pnpm/action.yaml
Expand Up @@ -26,6 +26,5 @@ runs:
${{ runner.os }}-pnpm-store-
- name: Install dependencies
if: steps.pnpm-cache.outputs.cache-hit != 'true'
shell: bash
run: pnpm install --no-frozen-lockfile
19 changes: 19 additions & 0 deletions .github/workflows/build_nix.yml
@@ -0,0 +1,19 @@
name: "Build legacy Nix package on Ubuntu"

on:
push:
paths:
- flake.nix
- flake.lock
- .github/workflows/build_nix.yml

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: cachix/install-nix-action@v17
- name: test
run: nix develop --command "pkg-config" "--libs" "--cflags" "gdk-3.0" "gdk-3.0 >= 3.22"
# - name: Building package
# run: nix develop --command pnpm core run setup && cargo check
6 changes: 5 additions & 1 deletion .gitignore
Expand Up @@ -44,4 +44,8 @@ core/integration-tests/.*
_next

docker-compose.yaml
server_old
server_old

# nix
.envrc
.direnv
32 changes: 16 additions & 16 deletions apps/desktop/package.json
Expand Up @@ -12,26 +12,26 @@
"build:web": "vite build"
},
"dependencies": {
"@stump/client": "workspace:*",
"@stump/interface": "workspace:*",
"@tanstack/react-query": "^4.10.3",
"@tauri-apps/api": "^1.1.0",
"@stump/client": "workspace:0.0.0",
"@stump/interface": "workspace:0.0.0",
"@tanstack/react-query": "^4.16.1",
"@tauri-apps/api": "^1.2.0",
"react": "^18.2.0",
"react-dom": "^18.2.0"
},
"devDependencies": {
"@tailwindcss/typography": "^0.5.7",
"@tauri-apps/cli": "^1.1.1",
"@types/react": "^18.0.21",
"@types/react-dom": "^18.0.6",
"@vitejs/plugin-react": "^2.0.0",
"autoprefixer": "^10.4.12",
"postcss": "^8.4.17",
"@tailwindcss/typography": "^0.5.8",
"@tauri-apps/cli": "^1.2.0",
"@types/react": "^18.0.25",
"@types/react-dom": "^18.0.9",
"@vitejs/plugin-react": "^2.2.0",
"autoprefixer": "^10.4.13",
"postcss": "^8.4.19",
"tailwind": "^4.0.0",
"tailwind-scrollbar-hide": "^1.1.7",
"tailwindcss": "^3.1.8",
"typescript": "^4.8.4",
"vite": "^3.1.6",
"vite-plugin-tsconfig-paths": "^1.1.0"
"tailwindcss": "^3.2.4",
"typescript": "^4.9.3",
"vite": "^3.2.4",
"vite-plugin-tsconfig-paths": "^1.2.0"
}
}
}
2 changes: 1 addition & 1 deletion apps/server/src/routers/api/library.rs
Expand Up @@ -178,7 +178,7 @@ async fn get_library_series(
let media_count = match media_counts.get(&s.id) {
Some(count) => count.to_owned(),
_ => 0,
} as i64;
};

(s.to_owned(), media_count).into()
})
Expand Down
2 changes: 1 addition & 1 deletion apps/server/src/utils/http.rs
Expand Up @@ -135,7 +135,7 @@ impl PageableTrait for Query<PagedRequestParams> {

PageParams {
zero_based,
page: params.page.unwrap_or(if zero_based { 0 } else { 1 }),
page: params.page.unwrap_or_else(|| u32::from(!zero_based)),
page_size: params.page_size.unwrap_or(20),
order_by: params.order_by.unwrap_or_else(|| "name".to_string()),
direction: params.direction.unwrap_or_default(),
Expand Down
2 changes: 1 addition & 1 deletion apps/tui/src/event/sse.rs
Expand Up @@ -26,7 +26,7 @@ impl SSEHandler {
// https://docs.rs/reqwest-eventsource/latest/reqwest_eventsource/
// FIXME: this panics if cannot connect. What a bad implementation...
let mut source =
EventSource::get(&format!("{}/api/jobs/listen", this_cpy.base_url));
EventSource::get(format!("{}/api/jobs/listen", this_cpy.base_url));
while let Some(event) = source.next().await {
match event {
Ok(Event::Open) => {
Expand Down
2 changes: 1 addition & 1 deletion core/src/config/env.rs
Expand Up @@ -156,7 +156,7 @@ impl StumpEnvironment {
let port = &self.port.unwrap_or(10801);

env::set_var("STUMP_PORT", port.to_string());
env::set_var("STUMP_VERBOSITY", &self.verbosity.unwrap_or(1).to_string());
env::set_var("STUMP_VERBOSITY", self.verbosity.unwrap_or(1).to_string());

if let Some(config_dir) = &self.config_dir {
if !config_dir.is_empty() {
Expand Down
2 changes: 1 addition & 1 deletion core/src/config/logging.rs
Expand Up @@ -25,7 +25,7 @@ pub fn get_log_verbosity() -> u64 {
pub fn init_tracing() {
let config_dir = get_config_dir();

let file_appender = tracing_appender::rolling::never(&config_dir, "Stump.log");
let file_appender = tracing_appender::rolling::never(config_dir, "Stump.log");

let verbosity = get_log_verbosity();
let max_level = match verbosity {
Expand Down
2 changes: 1 addition & 1 deletion core/src/prelude/server/pageable.rs
Expand Up @@ -71,7 +71,7 @@ impl From<Option<PagedRequestParams>> for PageParams {
let zero_based = params.zero_based.unwrap_or(false);
let page_size = params.page_size.unwrap_or(20);

let default_page = if zero_based { 0 } else { 1 };
let default_page = u32::from(!zero_based);

let page = params.page.unwrap_or(default_page);

Expand Down
92 changes: 92 additions & 0 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

76 changes: 76 additions & 0 deletions flake.nix
@@ -0,0 +1,76 @@
{
inputs = {
nixpkgs.url = "nixpkgs";
flake-utils.url = "github:numtide/flake-utils";
rust-overlay.url = "github:oxalica/rust-overlay";
};

outputs = { self, nixpkgs, rust-overlay, flake-utils, ... }:
flake-utils.lib.eachDefaultSystem (system:
let
overlays = [ (import rust-overlay) ];
pkgs = import nixpkgs {
inherit system overlays;
};

libraries = with pkgs;[
webkitgtk
gtk3
cairo
gdk-pixbuf
glib
dbus
openssl_3
];

packages = with pkgs; [
# node
nodePackages.pnpm
nodejs

# rust
rustfmt
clippy
rustc
cargo
cargo-deny
cargo-edit
cargo-watch

# Tauri deps
curl
wget
pkg-config
dbus
openssl_3
glib
gtk3
libsoup
webkitgtk

# avoid openssl linking error when local git version isn't compatible with openssl_3
git
];
in
{
devShell = pkgs.mkShell {

buildInputs = packages ++ [(
# Needed for rust-analyzer
pkgs.rust-bin.stable.latest.default.override {
extensions = [ "rust-src" ];
}
)];

# Needed for rust-analyzer
RUST_SRC_PATH = "${pkgs.rust-bin.stable.latest.default.override {
extensions = [ "rust-src" ];
}}/lib/rustlib/src/rust/library";

shellHook =
''
export LD_LIBRARY_PATH=${pkgs.lib.makeLibraryPath libraries}:$LD_LIBRARY_PATH
'';
};
});
}

0 comments on commit f8e3dfc

Please sign in to comment.